How can I hide the +NEW-Button in a subgrid of activities, when the parent records status is inactive? I tried already to hide this Button with RibbonWorkbench to see if hiding would generally work when I later implement a javascript hide-rule, but the +-Button is still visible. I tried to hide this button on the activitypointer as well as task entity but the +-Button is still visible.
Background: Customer should not be able to add new activities, when the paretn record's status is inactive.
I followed this tip How to unable create a new record button from sub grid but withou success.
Customer should not be able to add new activities, only view them
If you remove the create privilege for an entity in that user persona security role, then the Add New [+] ribbon button will be hidden automatically. That’s the right approach.
Related
I am setting up a report on a page with multiple checkbox page items and start and end date page items. The user clicks a 'Run Report' button to generate a report region below on the page.
The default selections for the checkbox items are all items selected, and the Start and End Date items have default options based SQL queries.
I want to the report region to hide on the initial page load, and then show once the user clicks 'Run Report'. I tried the following solutions:
Set region condition to 'Never' and then use a dynamic action to show the region once the button is clicked. However, I think the 'Never' condition trumps the dynamic action.
Create two dynamic actions, one on page load to hide the region and on clicking the button to show the region. However, the show DA is always overwritten once the page loads again because of the first hide dynamic action, so the region never displays.
Has anyone else run into this problem? Any solutions? Thank you!
You may like to consider the 'lazy loading' described on Maxime's blog.
https://askmax.blog/2018/05/18/lazy-loading-report/
Like you said, a server side condition will trump and DAs that are showing/hiding on the browser, as the region would never render.
If you want to hide something on entry, you can do something similar to what you described, but I'm not quite sure what you've done.
on load dynamic action to hide region (or add
style="display:none;" to custom attributes of region.)
on click of your button, show the region (do not run on initialisation), and
refresh the region.
I need to update an item in a table, using the AWS Console DDB Dashboard. But when I go into "Edit item" and click "Save", I keep getting a ConditionalCheckFailedException error.
I assume this means the existing item has a ConditionExpression which my new data is somehow violating. But I can't figure out how to view that expression from the Dashboard so I can determine what the issue is.
How can I view the ConditionExpression for an Item in a Table, from the AWS Console DDB Dashboard?
I had the same problem and with the help of AWS support have solved it.
The issue arises because the DynamoDB console for the "Items" tab is a static display which takes a snapshot of all your items when it is first displayed. If you select an item and then return to the screen you still see the same snapshot - it is not updated.
When you try to update an item, the console sends the values of all the existing fields from the snapshot for this item and if any of these fields differ from their current values in DynamoDB then the update is rejected. So the "conditional expression" is referring to the requirements which the console is making for the update to be allowed.
So the workaround is to perform a browser window refresh on the item list before selecting the item you wish to edit and then hope you are fast enough with the edit to finish it before any external updates to the table change the data. Of course if you have a rapidly changing table then you will not be able to be quick enough and so the console is not the right tool for the job.
Lotus Notes :
We have a support Department that use the support agents in the actions Agent list, and they also have access to use Other Agents with editors access.
The problem is the users/clients have the same access as support and can also see and make use of these agents, which we don't want to allow. I had a look at the agents security options, and know that you can set the access to an admin group or person within the access control.
What I am not sure about is by not allowing the users to have access to these agents, and some features on the forms or views calls one od the agents, would it prevent the functionality from working ? and if so, does any one know about a work around ?
Don't put the agents on the Actions menu. I.e., set them to "Agent list selection" instead of "Action menu selection".
Then create a mechanism that can launch the agents but can only be seen by the admin group. For example, create View Actions that use #Command([RunAgent];"agent nanme"); and set up a hide-when formula in the properties for the Actions - something like (!#UserRole = "[Admin]"). If you don't like that option, you could create a Page that is hidden from regular users, and turn that page into a menu for the admins, using hotspots or buttons to trigger the agents.
I have created a MDI application with tabbed group.
Each time I drag and drop one tab from tab bar to view, it will create a new tab group and divide view according to the number of tab groups. But I want to allow my application to create only two tab groups.
I have done my work by regrouping a new tab group with the tab group related to the drag-and-drop tab.
But this solution is not good because the view blinks for a short time.
I'm looking for a better solution. I know: drag-and-drop tab to view => create new tab group is default support by MDI Tabbed Group.
How do I check it and prevent it?
The complete job of detaching and moving the Tabs arround is done upon the message AFX_WM_ON_MOVETABCOMPLETE (registered Windows message), this message is handled by CMDIClientAreaWnd::OnMoveTabComplete.
So you can subclass your MDI client window and you can intercept the message.
Check what you want, and if you don't want to allow the drag&drop Operation just return.
If you want to allow this drag&drop just call the base implementation CMDIClientAreaWnd::OnMoveTabComplete.
Is there a way to allow users to see workflow, but only allow them to see their own items within the workflow?
This seems like a problem that would be common. You have a large number of content creators and you only would want them to see how their content is moving in workflow, not the content created by others.
Possible (approximate and messy) solution:
The only possibility I could think of would be to turn off rights inheritance so that I could explicitly deny viewing rights to workflow. Then with a custom action in workflow I could explicitly turn on view rights to each item a user submits.
Am I on the right track? I hope not. ;)
Question Clarification:
I want approvers to see everything, but I want authors to open workflow and only see their own items, not dozens of items from other authors.
This is not the default behaviour as the common use of workflow is for an approval process. In that case the approval team would log in and see the items waiting for approval from the authoring team, if they could only see the items they created then they wouldn't see anything at all.
One way I can think of doing this would be to override the codebeside for the workbox application. Take a look at this file Website\sitecore\shell\Applications\Workbox\Workbox.xml and it's codebeside class Sitecore.Shell.Applications.Workbox.WorkboxForm. If you put your own class in here you could probably add all the logic you need to the 'GetItems' method.
Attacking this from another angle, given you want visibility to the authors on if their items have been approved or not, instead of giving them access to the workbox, why not add a customised email action to the approved status (or the approve command) so that the authors receive an email when their item has been approved. You could also customise the email so that it includes a link to the approved item or includes details of the item so that the author can identify the individual item if they have authored multiple items.
There is a sample email action in the Sitecore.Workflows.Simple.EmailAction class in the Sitecore.Kernel assembly that you can use as a base to your customisations.
If you want to make sure that all items are being approved within a certain timeframe, you could also use the ASR shared source module to generate reports on items that have not been approved within a certain timeframe and have it automatically email this report on a regular basis.