Customize Openam Login page - openam

I want to customize OpenAm login page, for client perspective,
I had check OpenaAm Chapter for latest XUI changes, ie by default it takes XUI
I tried to configure current default theme,
present in
XUI/themeConfig.json under the directory where we unpack OpenAM,
For example.
I had modify footer element : by default footer mailto element: info#forgerock.com
"footer": {
"mailto": "info#xyz.com",
"phone": ""
}
}
after pack and deploy war file,
But still it showing old one ie info#forgerock.com on startup
My question is what is the proper steps of customizing OpenAm login page , from OpenAm guide, it was bit confusing.
Please suggest
Thanks

a)Modify XUI\config\themeConfig.json, delete cache from your web browser...Then reload page and see what you had entered.
b)You can also set org.forgerock.openam.core.resource.lookup.cache.enabled, to false in Configuration > Servers and Sites > Server Name > Advanced to see in real time your modify, but in a Production Environment remember to change again to true for better performance.
Best regards,
Alex

Related

Using the Existing Redirection to an External URL

How do you use redirection on Acumatica mobile xml or msdl to redirect to an external link?
All I could find is If an action on an Acumatica ERP form provides redirection to an external URL, you can map the action to use it in the mobile app. To do this, you need no additional attributes in the action object. However, the redirect attribute of the tag must be set to True, as shown in the following example.
Thanks
There may be other ways, but from the new T410 course for MSDL in 2018R2, you need to do a couple of steps. (Got this at Acumatica Summit 2018 Web Services course - Lesson 6 in the training guide which should be available soon if not already.)
First, define a new toolbar button on the form for your external link
(This example is for the SO303000 screen)
public PXAction<AR.ARInvoice> TestURL;
[PXButton(CommitChanges=true)]
[PXUIField(DisplayName = "TestURL")]
protected void testURL(){
throw new PXRedirectToUrlException(
"http://www.acumatica.com",
"Redirect:http://www.acumatica.com"
)
}
After publishing your project, go back to the Customization Project in the Mobile Application section to map the button. Add this to the commands section of the page as shown in the following example.
add container "InvoiceSummary" {
add field …
add recordAction "TestURL" {
behavior = Void
redirect = True
}
}
Not sure if this answered your question as you pretty much had the MSDL code listed, so maybe it is a matter of where you placed your code within the mobile definition? In the training class, we placed it inside the container where we wanted the link which then appears on the menu on the mobile app when viewing that container.

vbulletin template edit Invalid Page URL

I am creating a forum in vBulletin for the first time.I have created a sub domain for it(forum.yoursite.com).Now when i try to update the top menu links in the template edit,it says "Invalid Page URL. If this is an error and the page should exist, please contact the system administrator and tell them how you got this message".
Also when i try to access the admincp , I have to write forum.yoursite.com/core/admincp
else i can not access it.
I am using vBulletin 5.1.6 Patch Level 1.
How can I make it working.Any help will be greatly appreciated.
regards
I seems you did not install vBulletin properly....
You need to modify config.php file, Write your database name, database username and password in config file, then go to forum.yoursite.com/install/install.php and install the vBulletin, while installing you will be asked to create the admin account.... after you installed the vBulletin then delete the install directory, and you are here.... to edit the navbar you go to the admincp >> style and templates >> >> style manager >> edit template >> Navigation/ Breadcrumb template and edit your links in the template you want to target ... Thanks

Optionally inject Content Script

Content Script can be injected programatically or permanently by declaring in Extension manifest file. Programatic injection require host permission, which is generally grant by browser or page action.
In my use case, I want to inject gmail, outlook.com and yahoo mail web site without user action. I can do by declaring all of them manifest, but by doing so require all data access to those account. Some use may want to grant only outlook.com, but not gmail. Programatic injection does not work because I need to know when to inject. Using tabs permission is also require another permission.
Is there any good way to optionally inject web site?
You cannot run code on a site without the appropriate permissions. Fortunately, you can add the host permissions to optional_permissions in the manifest file to declare them optional and still allow the extension to use them.
In response to a user gesture, you can use chrome.permission.request to request additional permissions. This API can only be used in extension pages (background page, popup page, options page, ...). As of Chrome 36.0.1957.0, the required user gesture also carries over from content scripts, so if you want to, you could add a click event listener from a content script and use chrome.runtime.sendMessage to send the request to the background page, which in turn calls chrome.permissions.request.
Optional code execution in tabs
After obtaining the host permissions (optional or mandatory), you have to somehow inject the content script (or CSS style) in the matching pages. There are a few options, in order of my preference:
Use the chrome.declarativeContent.RequestContentScript action to insert a content script in the page. Read the documentation if you want to learn how to use this API.
Use the webNavigation API (e.g. chrome.webNavigation.onCommitted) to detect when the user has navigated to the page, then use chrome.tabs.executeScript to insert the content script in the tab (or chrome.tabs.insertCSS to insert styles).
Use the tabs API (chrome.tabs.onUpdated) to detect that a page might have changed, and insert a content script in the page using chrome.tabs.executeScript.
I strongly recommend option 1, because it was specifically designed for this use case. Note: This API was added in Chrome 38, but only worked with optional permissions since Chrome 39. Despite the "WARNING: This action is still experimental and is not supported on stable builds of Chrome." in the documentation, the API is actually supported on stable. Initially the idea was to wait for a review before publishing the API on stable, but that review never came and so now this API has been working fine for almost two years.
The second and third options are similar. The difference between the two is that using the webNavigation API adds an additional permission warning ("Read your browsing history"). For this warning, you get an API that can efficiently filter the navigations, so the number of chrome.tabs.executeScript calls can be minimized.
If you don't want to put this extra permission warning in your permission dialog, then you could blindly try to inject on every tab. If your extension has the permission, then the injection will succeed. Otherwise, it fails. This doesn't sound very efficient, and it is not... ...on the bright side, this method does not require any additional permissions.
By using either of the latter two methods, your content script must be designed in such a way that it can handle multiple insertions (e.g. with a guard). Inserting in frames is also supported (allFrames:true), but only if your extension is allowed to access the tab's URL (or the frame's URL if frameId is set).
I advise against using declarativeContent APIs because they're deprecated and buggy with CSS, as described by the last comment on https://bugs.chromium.org/p/chromium/issues/detail?id=708115.
Use the new content script registration APIs instead. Here's what you need, in two parts:
Programmatic script injection
There's a new contentScripts.register() API which can programmatically register content scripts and they'll be loaded exactly like content_scripts defined in the manifest:
browser.contentScripts.register({
matches: ['https://your-dynamic-domain.example.com/*'],
js: [{file: 'content.js'}]
});
This API is only available in Firefox but there's a Chrome polyfill you can use. If you're using Manifest v3, there's the native chrome.scripting.registerContentScript which does the same thing but slightly differently.
Acquiring new permissions
By using chrome.permissions.request you can add new domains on which you can inject content scripts. An example would be:
// In a content script or options page
document.querySelector('button').addEventListener('click', () => {
chrome.permissions.request({
origins: ['https://your-dynamic-domain.example.com/*']
}, granted => {
if (granted) {
/* Use contentScripts.register */
}
});
});
And you'll have to add optional_permissions in your manifest.json to allow new origins to be requested:
{
"optional_permissions": [
"*://*/*"
]
}
In Manifest v3 this property was renamed to optional_host_permissions.
I also wrote some tools to further simplify this for you and for the end user, such as
webext-domain-permission-toggle and webext-dynamic-content-scripts. They will automatically register your scripts in the next browser launches and allow the user the remove the new permissions and scripts.
Since the existing answer is now a few years old, optional injection is now much easier and is described here. It says that to inject a new file conditionally, you can use the following code:
// The lines I have commented are in the documentation, but the uncommented
// lines are the important part
//chrome.runtime.onMessage.addListener((message, callback) => {
// if (message == “runContentScript”){
chrome.tabs.executeScript({
file: 'contentScript.js'
});
// }
//});
You will need the Active Tab Permission to do this.

Orbeon : Liferay Form Runner Proxy Portlet Preferences not saved

I'm trying to implement the Form Runner Proxy Portlet into my Liferay portal but I have a problem.
In Orbeon, I have an application named "CUS07" and two forms named "CUS07" and "Test" (and Orbeon default app and forms).
I set the init parameters in "portlet.xml" to display "CUS07/CUS07" form by default.
It's working well. But when I go to the "Preferences" page in the portlet configuration and I set "Form Runner app name" to "CUS07" and "Form Runner form name" to "CUS07" and click on "Save" button, nothing change. The form displayed is still "Test" and when I go back to "Preferences" page, the fields are still filled with init parameters set in "portlet.xml".
I tried with different datas in portlet.xml and "Preferences" page (with default Orbeon forms and app), but it does not change anything, I can not override init parameters with portlet preferences.
Nothing is logged in catalina.out.
Is it a known issue or what can I try to find the reason of this problem ?
Thank you :)
Environment :
- CentOS
- Tomcat 7
- Liferay 6.2 CE
- Orbeon 4.4.0
Can you verify steps from below link, it might help you.
http://www.liferay.com/community/wiki/-/wiki/Main/How+to+Add+a+Configuration+Page+to+a+Portlet
on your configuration action class you should be getting the parameter value (from your config jsp) & store it in preferences. This should update the value in preferences.
I got the answer on Twitter : https://twitter.com/mikew_satx/status/428752758984806400
This line :
<requires-namespaced-parameters>false</requires-namespaced-parameters>
was missing in liferay-portlet.xml.
This is specific to Liferay 6.2.

How do I change the default home page of my gitlab installation

By default my gitlab homepage starts www.mydomain.com/users/sign_in. I would like to change this to show 'www.mydomain.com/public' instead. How do I configure this?
Setting custom startpage for non-logged in users:
From "Admin Area" goto the gear on the left and choose "Settings"
Find parameter "Home page URL" and set it to www.mygitlab.com/explore.
Optional set "After sign out path" to same url
Click save
Tested with version is 8.14.4 CE
This answer was written while running Gitlab 6. Any instructions may be outdated.
The feature request has been declined so you have to do it on your own and change the source code.
Full tutorial here: Kovah.me DevBlog
Short HowTo:
Just open
gitlab/app/views/layouts/devise.html.haml
and change what you want.
For example you could replace %h1 GitLab with your own logo. Use the image tag for it: %img{:src => "/source/to/image.png"}
But attention! You have to use spaces to indent all elements! And make a backup before running any upgrades.

Resources