Redmine - Extending context menu - redmine

I want to extend the functionality of the context menu of a Redmine plugin. I found the context menu view I want to modify. However I feel lost. I am new to Redmine api. I want to be able to select some items and make a function to only show these items. My question is how to get the selected items. Are they stored inthe session or..? Any documentation you can point me to regarding context menu will be of great help aswell. Thank you for your time!

You should use view hooks to extend view-related elements.
For your particular case, view hook is:
:view_issues_context_menu_start
or
:view_issues_context_menu_end
To see a full list of hooks, go to:
http://www.redmine.org/projects/redmine/wiki/Hooks_List#View-hooks
But sometimes that list is not updated, so the most reliable way to find hooks is to find call_hook in source files, so you can use grep from command console like this:
grep -r call_hook * # list of source lines with hook calls

Related

How can I view all the content of redmine, such as projects and tickets, easily on the screen?

I'm using REDMINE.
I have a list of projects on the screen.
Is it possible to add details of the ticket content to this screen?
I'd like to look over the screen at once instead of clicking with the mouse, how do I do that?
Also, if you have any plugins or useful tips and so on, please let me know.
Tamazawa, I believe you might be referring to "My Page" of Redmine where you could use widgets to decide what you see on that dashboard - keep in mind that such dashboard s project independent, so it can display issues from many projects that you are a member of on 1 screen.
For instance from My Page, you should be able to select an "Issues" widget to Add and set it up to pull a list of items to display using a saved custom query.
That should give you a snapshot of tasks at hand, without the need to click around the screen too much.
You may need to set up your saved query such that:
Description and / or
Last notes
are checked (if you want to see issues at a glance, without the need to open each one separately).
Alternatively, you can skip that "My Page" idea altogether, if you're ok with just opening a saved query with Description and / or Last notes selected.

Sitecore Glass Mapper - Using Item Renderings

I'm setting up a carousel in Sitecore using Glass Mapper. In the foreach loop to generate each carousel item, I can get the items out easily enough and make them editable with the #Editable command. What this doesn't give, however, is finer control over the edit process. For example, I want to edit the background image using a custom button in the Experience Editor, but I need to set that up in a rendering.
If I was using straight Sitecore, it looks like I'd use Html.Sitecore().ItemRendering and pass in the carousel item as a regular Sitecore item. In this case, I have my strongly-type class from Glass Mapper, which can't be passed in that way.
Is there a comparable method in Glass Mapper for setting up an item rendering? Or is there another way to affect the Experience Editor buttons for the carousel items? I've also experimented with setting up a separate edit mode, which would work fine, but I wanted to put together a cleaner editing experience with a more WYSIWYG approach to the item.
You'll have to use Custom User Experience Buttons which will allow you to edit in Page Editor Mode.
I just googled and found couple of good article which might help you.
http://www.nishtechinc.com/Blog/2015/March/A%20Better%20Approach%20at%20Carousel%20Management
http://www.awareweb.com/awareblog/11-25-14-custombuttonspageeditor
Try Html.Glass().BeginEditFrame() functionality built into Glass Mapper, wrapped in a #using block.
It allows you to specify the fields you wish to edit directly as params. Or if you're feeling adventurous, it can point to a full edit frame configuration in the core DB.

Are workflow comments customizable?

Does anyone know of any way to customise the Workflow Comments box that appears in Sitecore if you enable the "comments" option?
I'm looking to extend this a little ... but can't see this referenced in any sitecore javascript or shell files - I'm guessing I will need to build a custom dialog in its entirety to implement the functionality I want, but not 100% where to start!
We ended up putting a solution in place that, broadly, composes of a custom action, containing the relevant form that we need. The information that the user submitted was then parsed, and passed to the workflow as comments (this particular workflow command was hidden from users, so they had to go through our custom one).
Not ideal, but works!

custom sitecore shell tools for en masse workflow approval

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)

How can liferay template show page specific info

I need to make some parts in template show or hide based on what page i'm on. I know I can make multiple themes in liferay-look-and-feel.xml file and give settings but this creates multiple themes in admin.
Is there some other way like accessing info about what portlets are on this page. Lets say if it has log in portlet then don't show navigation links for example?
I think the simple way is to add this function over javascript. With javascript you can e.g. observe existing of login-portlet-id and then hide the navigation.
In liferay template, a velocity variable is available called the $processor. It is nothing but object of
com.liferay.portlet.layoutconfiguration.util.velocity.TemplateProcessor
The portletId is available in this object, but there is no direct method to get it. Please have a look at:
TemplateProcessor.java.html
Once you get the portletId, then you can write the logic to hide certain sections.