Navigate to the Map from the Start Center or List View? - maximo

Maximo 7.6.1.1/Spatial 7.6.0.5:
Scenario:
A user wants to go directly to the map to explore multiple assets, locations, WOs, or SRs.
The user does not have a specific asset/location/WO/SR that they want to explore. They only know the general area that assets/locations/WOs/SRs are located in.
In the Assets example, the only OOB way to do this is to:
Go to the Assets application.
In the List View, do a filter to show GIS assets.
Click a random GIS asset (likely not located in the part of the map that the user wants to explore).
Click the map tab.
Manually pan/zoom to the area in question.
Is there a way to navigate to the Map directly from the Start Center or List View (instead of navigating to a random single record as mentioned above)?
Even a simple hyperlink on the Start Center that points to a generic asset/location/WO/SR would be an improvement over the single-record-workaround mentioned above.
Keyword: Maximo Spatial

There is a System Property in Maximo that allows you to enable the tabs to display without opening a record. Set the System Property mxe.webclient.tabBreadCrumbs to 0 and perform a live refresh. Now click on a Favorite Application from your Start Center and you will see that the tabs are displayed without opening a record. You can simply click on the Map tab. I recommend using a Geocode Service such as a street intersection to allow a user to quickly navigate to an area of the map.
Asset application with Tabs

Hyperlinks on the Start Center might work, but they also might be misleading:
Map shortcuts to specific/sample records:
Town Hall (a specific Location)
Main St (a specific Asset)
WO at Town Hall (closed/not editable)
SR at Town Hall (resolved/not editable)
http://<your host>/maximo/ui/maximo.jsp?&forcereload=true&additionalevent=useqbe&additionaleventvalue=location=%27M001%27&changetab=mxmap&event=loadapp&value=location
http://<your host>/maximo/ui/maximo.jsp?&forcereload=true&additionalevent=useqbe&additionaleventvalue=assetnum=%27RD-305220%27&changetab=mxmap&event=loadapp&value=asset
http://<your host>/maximo/ui/maximo.jsp?&forcereload=true&additionalevent=useqbe&additionaleventvalue=wonum=%27WO2492%27&changetab=mxmap&event=loadapp&value=wotrack
http://<your host>/maximo/ui/maximo.jsp?&forcereload=true&additionalevent=useqbe&additionaleventvalue=ticketid=%27SR1627%27&changetab=mxmap&event=loadapp&value=sr
Possibly helpful: Creating a Hyperlink on the Start Center

Related

SharePoint Canvas app - load screen based on content type

Situation: SharePoint list with two content types (CTs) - most fields are common, few are unique/exclusive to specific CTs. Plan is to utilize Power Apps canvas app that overwrites default new-edit-view forms for SharePoint items. Already created new Power App "app" with integration, app and screen components - also new screen for other content type.
Goal: when item form is prompted, open screen "assigned" to specific content type. In other words, if I want to open edit form for item with CT "A" load one screen, but if for item with CT "B" - load other. I am looking for solution that would detect CT and pick screen (form?).
Problem: how to achieve goal? Is it possible to have on-the-fly evaluation that decides which screen to load? Have tried different methods, no luck so far. Most articles describe how form contains control that user can use to make a switch - not the case here, since evaluation should be done before any form is loaded. I have tried introducing "temporary loader" form, but could not achive auto-redirect to desired screen/form.

Making and Object uniteractable

So I have a part of my game where the character is selecting an area of the map. And it opening up a panel. I have made it so that happens but an=m now stuck on the other part of it. I want only certain area of the map to be intractable, so that I can bar the player from selecting areas of the map that they aren't ready for. I have no idea how to make game objects in the game uninteractable. I have looked on Stack overflow, Youtube an d the Unity API to no success. Can someone help me with that.
How to make things un-interactable will vary depending on your situation. I'll be presuming that you're map is broken up into a grid of sorts.
The basic setup would involve a bool, probably called 'CanAccessZone'.
Then you'll need a class, to store any access info and popup logic, by popup logic I mean make the element either non-interactable or show a popup, with the shown popup being dependant on 'CanAccessZone'. This class can then be set up by your Map class when the level is loaded, or you could let the popup class grab the necessary values from the Map class.
If you're using Unity's UI buttons for the map pieces, then you could set interactable to false, until you want to let the player access the zone. If you want to display a popup informing the player that they can't access the zone, then your button will be interactable, but the click will delegate to your popup logic method.
It's a similiar principle if you're using gameobjects as buttons. You'd be using any of the OnMouse events to handle click events. https://docs.unity3d.com/ScriptReference/MonoBehaviour.html
Hopefully this'll lead you in the right direction.

Orchard CMS - limiting pages to only a specific layer - how?

Silly really - but I just can't seem to find my way around this just yet....
I installed the Orchard CMS in Azure - worked like a charm, added a few pages, played around, watched the Pluralsight "Orchard Fundamentals" course - seemed to make a lot of sense.
But now I'm stuck - I'm trying to create a public facing site, where some of the pages should be visible to any visitor including anonymous users, and some of course should be visible to only authenticated users.
OK, so I understand those are layers in play - default for everyone, authenticated for authenticated users - great. But how do I limit a given page which is present as Content in my dashboard so that it'll be displayed only on a given layer (e.g. only on the authenticated layer - not the default layer for everyone)
Seems like a simple task - but I just cannot seem to find the way to do it (nor does any of the docs or tutorial videos really help :-( )
Any takers?
Layers are only for widgets. In order to restrict access to a content item such as a page, what you need is content item permissions. That's a separate feature that is not enabled by default.
To enabled the Content Item Permissions module
In the admin panel go to Modules
Start typing permissions into the filter box at the top left hand corner of the tabs.
The Content Item Permissions should be shown in the list, click Enable in the top right hand corner of its box
This will reload the page and you should see a message at the top saying Content Item Permissions was enabled
Enabling this feature with your pages
Orchard CMS uses a concept where you can glue components together however you want them to be composed in order for them to support the features you want. The concept of a page is just a collection of parts like a page title, a url, text, setting a publish date and things like that.
By default simply enabling the module doesn't make any difference. You will need to add the feature to the Page content. To do this you just need to:
In the admin panel go to Content Definition
Find / filter the Page content type and click Edit on the right hand side
Scroll down to Parts and click Add Parts
Search for Content Permissions in the list, tick the checkbox and press Save at the bottom of the page
You will be taken back to the Page content definition screen. At the bottom of the Parts list you will now see a Content Permissions entry. If you want to set up defaults for new pages click the little > arrow to the left of the header and a panel will expand.
If you want to add it to other content types such as blog posts then you can repeat this process and add it to any content type you want to.
Making an individual page password protected
Now that the feature is enabled and attached to your Page content type you can create a new private page by following these steps:
In the admin panel click New > Page in the sidebar
Give the page some basic content
Scroll down close to the end of the page and tick the checkbox labelled Enable Content Item access control
Let's say you want to make it so anon uses cannot see the page. Under the View this item section just tick all of the roles except for Anonymous (the second one in the list)
Publish the page
Open up a new incognito / in-private browser tab (so the site thinks you aren't logged in) and visit the new page you just published.
You will be redirected to an error screen similar to this page:
You will want to enable the Content Item Permissions feature in order to restrict individual content items to certain permissions. With layers you can only make widgets appear in different zones defined in your theme when the layer's rules are met.
To enable the Content Item Permissions feature, go to your admin dashboard and click on "Modules" on the left hand side. On the modules page enter "Content Item Permissions" in the filter text box to help find the feature. Click on the enable button of the feature in the top right corner. The feature will now be enabled.
Now that you have the feature enabled, you need to add the Content Permissions part to one of your content definitions. To do this click on "Content Definition" on the left hand side of the admin dashboard. Find the content type you want to add permissions to (for instance, Page) and click the edit button. Click the Add Parts button. You will see a list of parts you can add to the content type. Check the checkbox next to Content Permissions and click save.
Next, in the admin dashboard go to one of your content items that is of the content type that you just added the content permissions part to. You will see a new checkbox towards the bottom to enable content item access control. Click the checkbox and you will be able to set the different roles for that content item.
Edit: It looks like it took me too long to write my response. rtpHarry's editted answer is very similar but better formatted.

Browser add on/extension to intercept data selection then simulate link click and data entry

Background: a third party web application with a requirement on the order page to explicitly guide staff when a certain category of product is ordered.
Normal process:
select product to add order line (click on product image)
New process:
select product to add order line (click on product image)
[add on] simulate click on edit order line
[add on] simulate clear of default additional information form fields
enter additional information and click save
Note that the two steps to be performed by the add-on could be performed by the user however when things get busy or new staff begin is often the case that the order gets processed with the default value.
Any pointers in the right direction would be appreciated.
A multi-browser solution is preferred but not essential.
I am an experienced developer, including web development, but have no experience in browser add on/extension development.
Thanks.
You can make an addon out of this very easily. You addEventListener to the gBrowser and if the event.target is the product element then preventDefault so the click doesnt go thru (you will have to do mousedown and mouseup prevent as well). Then rather get the id of the "edit order line" and do .click() if that doesnt work and you really need to simulate use MouseEvent:
MDN :: MouseEvent
MDN :: Initatite/Dispatch MouseEvent
To enter aditional information get the id of the fields, and set their value. Then get the "Save" button id and then do .submit() or .click()
i said do get id in this post but you can use querySelector and go by css selector
see this page here on how to interact with content in currently selected tab:
https://developer.mozilla.org/en-US/Add-ons/Code_snippets/Tabbed_browser
basically just do gBrowser.contentDocument.getElementById

drupal 7 nodes listed in views are not attached to the menu, but need to be

Using Drupal 7, I am displaying news articles via a View. The view is linked into the menu, naturally, but as a consequence the news articles are not. This becomes an issue because when an article's detail page is displayed, the site loses the active trail and consequently the breadcrumb trail and the left-hand secondary navigation menu lose their place.
Is there some way of setting the menu to think it's in a certain place within the menu tree, eg. Your College -> Life at the College -> News & Events?
I've seen menu_tree_set_path, which looks promising, but haven't seen an example of how it's used (at least in terms an Enthusiastic Amateur like myself would get).
As ever, any and all assistance given is greatly appreciated,
~Matt
The Context module will allow you to set the active trail of a drupal menu dependant on paths etc.
https://drupal.org/project/context
When you're dealing with breadcrumbs, an easy way to achieve breadcrumbs on a per content type basis (and others) is the custom_breadcrumbs module.
On a separate note, if you want to display full menus, look at the menu_block module. We used this plus the menu_tree_set_path() function to display local menus on nodes that weren't in menus.
$config = menu_block_get_config(1);
$path = "node/{$nid}";
menu_tree_set_path($config['menu_name'], $path);
$data = menu_tree_build($config);
The number passed to menu_block_get_config(), is the delta of the menu_block configuration in blocks.
With $data you can use a drupal_render or pass it back to another theme rendering function.

Resources