user-friendly parameters: how to have globals & locals ?

user-friendly parameters: how to have globals & locals ?

Postby berteh » Thu Sep 05, 2013 3:53 pm

Hello,
I'd like to integrate some export for Freeplane to HTML slides (http://berteh.github.io/mindslide/) into Freeplane in the most user-friendly way.

There are +/- a dozen parameters (paths, integers, option lists and mostly texts).
I'd like to have a global preference dialog for a default value, and the ability for the user to supersede each setting for a few selected maps.
Is the best possible means for these "local settings" to use map attributes or do you see any better option? These parameters are to be given to the xslt export filter.

Any input/pointer welcome,
thanks.
Berteh.
berteh
 
Posts: 11
Joined: Fri Aug 30, 2013 4:40 pm

Re: user-friendly parameters: how to have globals & locals ?

Postby dpolivaev » Thu Sep 05, 2013 4:29 pm

I think the question you asked is not a technical question about the implementation but rather a question to be discussed with the users. And I also think that the solution you find and implement can be relevant also for all other kinds of exports. Therefore I moved this topic to the open discussion forum and ask for user responses.

Let me formulate the question as I understand it:

For all kinds of exports there can be some options. Should they be saved as a user preferences, as a map related options within each map or somewhere else?
Should they be displayed as a part of global user preferences or inside the export dialog depending on the selected export type?

Once you know what you are going to implement I can answer all implementation related questions in the developer forum.
I think that starting with the global user options would be the easiest and therefore the right thing to do.

Best, Dimitry
User avatar
dpolivaev
Site Admin
 
Posts: 667
Joined: Sat Jul 23, 2011 1:21 pm

Re: user-friendly parameters: how to have globals & locals ?

Postby nnako » Thu Sep 05, 2013 8:56 pm

Hi.

As I see any presentation functionality subject to user style but map-dependent, I'd rather vote for the placement of presentation related settings within the global user preferences. It might depend on the types of preferences applicable, though. Browsing through MindSlide and reveal.js, I could think of preferences like:

  • specification of the identification of a "presentation root node", to specify where all the "presentation browsing" starts within a particular map. Maybe using the name of a node style or a specific attribute value which could be specified within the presentation preferences.
  • specification of the identifiers of the hierarchical structure for presentation, based on node styles or attributes. So, branches and nodes could be included into presentation regardless of any rigid position within the map, but rather according to deliberate choice.
In my thought, globally specified preferences could help leaving the existing maps as they are. Just through addition of markers (specified within the preferences and e.g. applied through attribute values), the desired nodes could be picked for presentation. So there would only be a few parameters necessary within the global preferences. A button or menu item named "present mindmap with MindSlide" could then start at the "presentation root node" and browse through the map, picking up any marked node or branch and include it for presentation. Facilitating a "table of contents", hyperlinks, pictures and other node-related stuff.

Is this too fuzzy?

Nnamdi
--
Windows 7 x64
nnako
 
Posts: 10
Joined: Tue Jul 30, 2013 1:46 pm

Re: user-friendly parameters: how to have globals & locals ?

Postby berteh » Mon Sep 09, 2013 8:50 am

Hi Nnamdi,
not too fuzy and useful, thanks.
B.
berteh
 
Posts: 11
Joined: Fri Aug 30, 2013 4:40 pm

Re: user-friendly parameters: how to have globals & locals ?

Postby seb4stien » Fri Sep 27, 2013 8:09 pm

Hi,

from the user point of view, I'd like to be able to share my map with others and everyone should be able to view/render/export it.
That's why I'd prefer preferences into the maps.

A generic implementation could be useful for exports and add-ons.

I had two ideas in mind regarding this :
- support for "hidden" nodes inside mindmaps to store preferences
- extension of the "style management" to "style & preferences management"

Both ways would enable :
- most users to focus on mindmap's content
- advanced to set preferences for exports or add-ons

ps: I really like the slide export idea :)
Last edited by seb4stien on Sun Sep 29, 2013 6:09 pm, edited 1 time in total.
seb4stien
 
Posts: 32
Joined: Sat Jun 08, 2013 8:28 am

Re: user-friendly parameters: how to have globals & locals ?

Postby seb4stien » Fri Sep 27, 2013 8:35 pm

One more remark that could help for some preferences.

I use a custom xsl to export mindmap as website.

In this xsl, I used "styles" to extract some specific informations.
For the slide export you could have :
* an "author" style to identify author
* a "slide" style to identify slides and so on

One benefit of this is to have something that is easy to "read" in the map if you set styles with icons.

Sébastien
seb4stien
 
Posts: 32
Joined: Sat Jun 08, 2013 8:28 am

Re: user-friendly parameters: how to have globals & locals ?

Postby dpolivaev » Sun Sep 29, 2013 2:01 pm

Look at methods of class org.freeplane.features.styles.MapStyle
getProperty(MapModel, String), getPropertySetDefault(final MapModel model, final String key), setProperty(final MapModel model, final String key, final String newValue) and how they are used.
The last one is implemented so that its effect is taken back on undo.

Regards, Dimitry
User avatar
dpolivaev
Site Admin
 
Posts: 667
Joined: Sat Jul 23, 2011 1:21 pm

Re: user-friendly parameters: how to have globals & locals ?

Postby jokro » Mon Sep 30, 2013 7:36 am

I had two ideas in mind regarding this :
- support for "hidden" nodes inside mindmaps to store preferences


One of these days I will publish an add-on SmartLocker. It provides for a specialized, permanently folded locker node. Hidden data from its invisible children can be accessed (read and write) through specialized service nodes, which may be anywhere in the map. Your preferences could be held inside a single locker node like this and accessed only if you are going to export.

For the SmarLocker system I use a combination of global preferences which are set in Tools > Preferences, and service-specific choices whic overrule the global preferences for a particular service. The latter are kept in attributes of data nodes " inside" the locker node. Because the locker node keeps folded, these node attributes are not disturbing the view of the main map content. When editing the lockers content I use filtering to focus on the lockers child nodes which are being edited. In this way the locker can keep extensive amounts of information (hidden children), and yet be easy to manage.

Preview documentation is published in the wiki http://freeplane.sourceforge.net/wiki/index.php/Add-ons_%28install%29
I will publish the add-on when the documentation and video are completed.

Regards
Jodi
jokro
 
Posts: 486
Joined: Sun Jul 24, 2011 2:56 pm

Re: user-friendly parameters: how to have globals & locals ?

Postby boercher » Mon Oct 21, 2013 10:39 pm

As a side notice: It's possible to access the map specific storage via the scripting API (but only starting with 1.3.6):

Code: Select all
/** returns an accessor to the map specific storage. The value is never null
 *  @since 1.3.6 */
public Proxy.Properties getStorage();


Regards, Volker
boercher
 
Posts: 644
Joined: Tue Jul 26, 2011 7:13 am

Re: user-friendly parameters: how to have globals & locals ?

Postby nnako » Sat Jan 25, 2014 8:09 pm

Hi there,
hi berteh,

I would like to revive the discussion about the promising mindmap presentation possibilities with "MindSlide" using the sliding mechanism introduced in this thread a couple of months ago as well as in these two threads: Exporting Maps as HTML and view mindmap as (slide) presentation: testers requested.

As far as I know, the last working version of MindSlide was based on reading in a mindmap "<filename>.mm" which had to be renamed into "mm.xml" and which static structure had to be something like this, in order to be transformed into a sliding HTML presentation:
PIC__MindSlide__static_node_structure.gif
required static structure of map
(12.1 KiB) Downloaded 100 times

Now, there were some ideas about making this approach more flexible and in the end including it into Freeplane. So, one further step away from a static and exclusive map structure could be to have a "presentation root node" which was freely positionable within the map as well as subsequent "nodes for presentation", whose hierarchical positions would be deliberately determinable by setting the node's attribute keys and values. This would even enable hierarchical flexibility as there could be other "nodes not for presentation" inbetween the presentation hierarchy (as far as the specific presentation attributes were missing).

Regarding the localization of necessary settings (whether within the map or within the application), fitting mechanisms would have to be found as soon as the general structure is agreed upon.

Another possibility for flexibility could still be based on the use of static presentation structures e.g. as seen in the picture (and there could even be more than one per mindmap). Selecting the respective "presentation root node" could determine the child nodes to be scanned for presentation output. And: formulas could be used to fill the presentation nodes with content of nodes belonging to the same map (using the "=" formula-hook and referencing any node within the map), or even nodes from external mindmaps (this function will eventually be realized. Promise!).

What do you think? Any further ideas or concepts? How could we continue here? Has somebody already proceeded with the sliding presentation?
--
Windows 7 x64
nnako
 
Posts: 10
Joined: Tue Jul 30, 2013 1:46 pm


Return to Open Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron