I have several similar interactive reports. I want to have some kind of a template to which all reports will adhere. For example each report need to have a button and it's tedious to add button to each new report. If I want to change something in common part of all reports, I will need to go through all reports and apply changes that is difficult.
There isn't an ideal solution for you, but here are some things you can do to make creating new reports easier:
When creating a new Interactive Report (IR) region in an application, you could start by copying an existing IR in the same application. This gives you the option to copy any associated items and buttons at the same time.
You can create a "template" page (I normally call it a "skeleton" page to avoid confusion with the concept of Apex templates) with a typical set of components: IR region, standard buttons, items, processes. To create a new report, create a new page as a copy of the skeleton page and then modify it as required.
Neither of these deal with your second problem: if at a later date you decide that all IR regions should have a new "Foo" button, you are going to have to change each one individually. You could consider an approach using the Apex Builder APIs to generate such buttons, but if you did that (I have in the past) you wouldn't be supported by Oracle!
Related
The way that Page Editor handles versions has been causing issues for in one of our Sitecore solutions for a client. I've posted about them here:
Sitecore instance showing incorrect workflow state in Page Editor
Expected usage of Page Editor's Experience date
I didn't get much response on those and so far I've surmised that this is just how Sitecore works. This is less than ideal for our instance, as when publishing restrictions are set, authors don't know which version they're editing which is causing various issues for them.
I'd like to implement a solution(s) to improve the experience provide the following functionality:
Something in the Experience tab that shows the number of the version being viewed.
A button on the Experience tab that resets the Date to the default (this is not simply setting the date to the current date/time, but resetting it to act as it did before a date was manually set).
A custom button in Content Editor which allows an author to open a specific version in Page Editor...set the date automatically when it opens, I guess.
An any one give me some clues on how much of this is possible and where to start?
Thanks.
For the first bullet "Something in the Experience tab that shows the number of the version being viewed", you can add version item in Core database.
Move to "Core" DB in Desktop Mode
Navigate to "/sitecore/content/Applications/WebEdit/Ribbons/WebEdit/Experience/"
Create "Versions" item like this, http://imgur.com/bPEDm7R
Create "Compare" item under "Versions" like this, http://imgur.com/dG8dz2M
The result like this, http://imgur.com/HPu3XAL
The content author can see which version they are using and they can also compare with previous versions.
I am trying to add a couple of ad widgets to my website http://yankeedesi.com. Please see the two widgets in the right panel. I created the widgets using the amazon associates interface and it showed up fine. However, when I try to change the style to gallery and transition to zoom and save it, the changes are not reflecting in my site. I am clicking on "Save" and then "Add to my webpage". I tried copying the generated code again (which looks the same as before) but even that did not work.
Even the new products I added are not reflected. Creating it afresh will probably work but I am experimenting with the style, and also intend to add/remove products on an ongoing basis, so every time I change something I don't want to recreate the widget. Any idea what I am doing wrong?
Have you republished your widget after the changes you have made as it is described in here?
UPDATE: (from OP's comment) I checked with their customer support and understand it is a known bug in their system. The workaround is to copy it to a new widget and delete the previous one. That works but is a tedious process if you have to make the changes frequently
I have a few fields that I don't want to appear in the report. Is there a way to hide them completely (not even show the column header for these fields)?
I tried to create my own ISaveAction with the intent to filter out those fields before they get saved to the DB, but even if they don't appear in the AdaptedResultList that is sent to the DataManager.InsertForm the columns associated to these fields still appear in the reports.
Out of the box functionality, the answer is that if you mean one of the reports in the Form Reports area of WFFM, you most likely can, depending on the report. If you mean one of the reports that you can see a "Design" button on top when you view it, then you know that it's using the report that is configured in one of the .mrt files in your website directory in this path:
Website\sitecore modules\Shell\Web Forms for Marketers\Reports
Editing one of the reports by hitting the Design button will open up the Stimulsoft designer that is built in to Sitecore and you can make changes. You can also download one of the trial clients from the Stimulsoft website and open the .mrt files directly and edit them that way (the interface is WAY nicer than the built in Sitecore one).
A word of caution, however, BACK UP THE FILE FIRST!!! The Stimulsoft interface is picky and easy to break and it's got a learning curve. Once you figure out the basics though, removing a field is cake.
Before digging into my explanation i will summarize my question:
How do I provide the user (editor) with a user-friendly possibility to select a datasource item for sublayouts that are preset on the standard values?
My situation is as follows:
I have a page template, with pre-defined layout on the standard values.
Let's say the layout consists of:
one placeholder "wrapper"
one sublayout "content"
This sublayout is pre-defined on my page template, but can also be placed in the placeholder using the Page Editor.
It needs to have a datasource item that defines a Title and Body value.
Now, if a user adds this sublayout to the placeholder using the Page Editor, he will get a nice interface to select or create the datasource item (see screenshot).
However, if the sublayout was pre-defined on the standard values, it will be added without datasource (I can't pre-set the data source in the standard values because it's still unknown by then).
At that point there seems to be no way to get to that nice interface for selecting or creating a datasource item.
Ideally I want to be able to add a field to my template that can hold a datasource item which the user can select/create using the nice interface. I looked at the datasource field type, which could be an alternative, but it's still not exactly what I want.
Bare in mind that the content sublayout is just an example.
I understand that in that specific case I could solve it by always adding a title/body field to the template which hold the values if there is no datasource, but for my real world problem that won't suffice.
I don't have a whole lot of experience with the Page Editor (with the new way of working with it) so I would like to get some advice on this subject.
According to what you said here:
Ideally I want to be able to add a field to my template that can hold a datasource item which the user can select/create using the nice interface. I looked at the datasource field type, which could be an alternative, but it's still not exactly what I want.
It seems you want an intuitive data source selector interface in the CMS shell similar to the Page Editor-based UI.
Quick answer: Simply put, there's nothing that does this for you in Sitecore.
Longer answer: There are still some options for you, e.g.
Define a global "dummy" data source and set that to be the data source set in in Presentation > Layout Details of the template's standard values. So every time you create a new page, it will always point to that dummy value to show something.
From here you can do a few things:
If the user must use the shell UI and not Page Editor, they can simply create another data source item for the specific page and update that page to point to it using the existing native interface in Layout Details.
Another option is to write an event handler, say for item:created or similar that when you create an item, auto-create a corresponding data source item for this specific page (whether this auto-created item be a sub-items or global item...) then programmatically set this to be the data source. A similar concept is shown in this video by Nick Wesselman: http://www.techphoria414.com/Blog/2012/May/Sitecore_Page_Editor_Unleashed
I'm wondering about documentation to create a simple custom ribbon control for sitecore shell.
The problem i'm trying to address is that Admins should be able to force all subitems recursively to be approved to a certain workflow state (rather than approve each one manually), but we currently don't know any way to achieve that.
To solve this, we want to force items throught the workflow state (triggering the corresponding commands) programmatically, but we need a sane way for admins to interact with this, the sensible option would be a custom thingie in sitecore shell, but we aren't sure how easy is to achieve that.
any recommended readings for this problem?
Though this article claims to be written for Sitecore 5.3, the same steps apply for 6.x as well. Note: it requires access to the SDN: How to create a ribbon button in Sitecore v5.3
The high-level points from the article are:
Create a new class that inherits from Sitecore.Shell.Framework.Commands.Command
Mark the class as [Serializable]. It might not be necessary for simple commands, but add it now so you don't get problems later! Otherwise the button might not work correctly (this is related to pipelines - and the fact that pipelines might be stopped and resumed)
Override Execute() and possibly also GetIcon(), GetHeader(), QueryState(), GetClick(), GetSubmenuItems()
Add a new <command name="…" type="..."> tag to /App_Config/Commands.config file
Log into Sitecore and switch to the core database
Navigate to /sitecore/content/Applications/Content Editor/Ribbons and create (or copy) a command in the desired chunk
Enter your command name (the one from step 4) in the "Click" field (and supply a Header, Icon, Tooltip, etc)