Multi-user Tags and Comments

Features wanted...
DJR
Posts: 2
Joined: 11 Sep 2009 14:48

Multi-user Tags and Comments

Post by DJR »

I would like to see the Tags/Comments feature enhanced to be able to work in a multi-user environment.

We use XYplorer in a team environment where several users work on the same group of project files on a network. It would be very handy to be able to view the tags and comments of other users on the team.

An example might be where the author of a document can tag it as ready for approval and other members of the team can indicate their approval by tagging it appropriately, or, they may add comments. This would save the usual round of emails and phone calls and maybe even some meetings.

Another example is an image library we have (hundreds of images in folders on the network). With this feature people could indicate whether an image is okay to use in specific circumstances or add text via commnets thaht should accompany the image when it is used.

I'm sure there are many other circumstances where this feature would be handy, these are just a couple from my own situation working in a marketing department.

David

admin
Site Admin
Posts: 60563
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Multi-user Tags and Comments

Post by admin »

Hi,

great idea, and not too hard to implement.

One (first) point: As you will know, in XYplorer the user can configure the colors and captions of the tags, and also add additional tags to the factory-provided set. So, in your multi-user setup, you will see the tag color/caption that the other user(s) has/ve configured. This might become quite colorful, unless you oblige the users taking part in this to follow some guidelines (e.g. to use the same tag colors/captions). Ok?

Don

DJR
Posts: 2
Joined: 11 Sep 2009 14:48

Re: Multi-user Tags and Comments

Post by DJR »

Don,

What about being able to read in 'tag definitions' from a file? That way users could to set up 'standard' tags by loading the pre-defined definitions?

David

admin
Site Admin
Posts: 60563
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Multi-user Tags and Comments

Post by admin »

DJR wrote:What about being able to read in 'tag definitions' from a file? That way users could to set up 'standard' tags by loading the pre-defined definitions?
Yes, that's a possibility. The file path must be defined somewhere (in Configuration / Tags), and it should probably be read-only (which of course raises the question how this file is created in the first place). These global 'tag definitions' would be in synch with each user's tag.dat, so the user could not just switch to his local 'tag definitions' AND use the same tag.dat. So it's probably better to have a "global" tag.dat separately from the user's own (maybe in the same location where the global 'tag definitions' file is stored, with the username attached in the filename, e.g. "tag_billy.dat").

So this part of MUT (multi-user tags) would make three extra controls in Configuration / Tags, one checkbox, and two text boxes:

Code: Select all

[x] Use global tags
    [path to global definitions (and also to this user's global tag.dat]
    [username]
The first checkbox would allow to quickly switch between local and global tag mode.

admin
Site Admin
Posts: 60563
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Multi-user Tags and Comments

Post by admin »

A more hardcore solution (with advantage of extreme flexibility, and that it would not add stuff to the GUI) would be a new scripting function:

Code: Select all

  gettag(item, tagdatfile)
which would return tag/comment info on "item" in "tagdatfile". Maybe accompanied by command:

Code: Select all

  settag(item, tagdatfile, tagID, [comment])
This couple would give a lot of possibilities to a talented scripter...

jacky
XYwiki Master
Posts: 3106
Joined: 23 Aug 2005 22:25
Location: France
Contact:

Re: Multi-user Tags and Comments

Post by jacky »

admin wrote:A more hardcore solution (with advantage of extreme flexibility, and that it would not add stuff to the GUI) would be a new scripting function:

Code: Select all

  gettag(item, tagdatfile)
which would return tag/comment info on "item" in "tagdatfile". Maybe accompanied by command:

Code: Select all

  settag(item, tagdatfile, tagID, [comment])
This couple would give a lot of possibilities to a talented scripter...
This sounds quite cool, but not really ideal I would say. For starter, it means if one is dealing with hundreds of items then it's a loop that reads/writes to a file hundreds of times... makes you really wish there were some support for arrays, so that one could read/write all tags/comments of multiple items at once!

But if/since we don't have arrays, I'd much rather have something where reading returns something like what a report("{Fullname}|{TagID}|{Comment}<crlf>") would do (similar to what we get with edittags() IINM), so in one go we get all the needed info. And of course, same would go with writing, where we would provide such a list containing, at once, item's path, tagid & comment, and that for multiple items of course.

Let's call this formated list a "definition." So it would be more like:

Code: Select all

// reads <tagdatfile> (default: current tag.dat) and returns the "definition" for items in <itemlist>, or all contained in <tagdatfile> by default
loadtags([<itemlist>][, <tagdatfile>])

// saves tags & comments of given <definition> into <tagdatfile> (default: current tag.dat -- i.e. we set multiple tags/comments at once; only loads those tags/comments into XY session if saved to current tag.dat, else it's only a file operation)
savetags(<definition>[, <tagdatfile>])

// sets tags & comments of given <definition> into XY (memory, no save to any file)
settags(<definition>)
That way one could indeed have a script to quickly load/save tags from/to an "external" file. (And imagine, once we get CEA one could see about adding an auto-loader/saver of such data on location change!!...)

Code: Select all

// load tags from project_tags.dat in to our XY session
settags(loadtags(,'project_tags.dat'));

// save them back into project_tags.dat
savetags(report("{Fullname}|{TagID}|{Comment}<crlf>"), "project_tags.dat");
// and remove them from our XY session, to keep our own tag.dat clean
savetags(report("{Fullname}||<crlf>"));
But thinking about this, wouldn't it be nice if the definition into such external <tagdatfile> could include relative path (to where that file is located) ? The path would then be converted upon loading (loadtags) and optionally (new param <relative=0|1>) upon saving (savetags), which could allow for this to work even if one path isn't available the same way to different people...


And actually, looking at this it sounds like the only command we really need is settags(<definition>) since the others could be done through report/readfile/writefile. Maybe what would be better (in addition to settags, which I do really like & am wishing for) would be a way to give XY a list of items, and the path/name of a <tagdatfile> -- so that (for the current session) all tags & comments for those items would be saved when we save our own tags/comments, but into another file.

Code: Select all

settagdat([<itemlist>][, <tagdatfile>][, <autosave>])

// reads/loads tags&comment for XYplorer.exe & XYplorer.hlp from XY_tags.dat,
// and from now on when saving tags/comments those for those two files are saved into XY_tags.dat (while all the others go to tag.dat)
settagdat("D:\XY\XYplorer.exe|D:\XY\XYplorer.hlp", "XY_tags.dat");

// saves current tags&comments for XYplorer.exe & XYplorer.hlp into XY_tags.dat (cause <autosave> == 1),
// reads/loads tags&comment for XYplorer.exe & XYplorer.hlp from our own tag.dat,
// and from now on when saving tags/comments those for those two files are back into our own tag.dat
settagdat("D:\XY\XYplorer.exe|D:\XY\XYplorer.hlp",,1);

// makes sure all tags&comments we're working with come from/are saved to our own tag.dat
settagdat();
Proud XYplorer Fanatic

admin
Site Admin
Posts: 60563
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Multi-user Tags and Comments

Post by admin »

jacky wrote:
admin wrote:A more hardcore solution (with advantage of extreme flexibility, and that it would not add stuff to the GUI) would be a new scripting function:

Code: Select all

  gettag(item, tagdatfile)
which would return tag/comment info on "item" in "tagdatfile". Maybe accompanied by command:

Code: Select all

  settag(item, tagdatfile, tagID, [comment])
This couple would give a lot of possibilities to a talented scripter...
This sounds quite cool, but not really ideal I would say. For starter, it means if one is dealing with hundreds of items then it's a loop that reads/writes to a file hundreds of times... makes you really wish there were some support for arrays, so that one could read/write all tags/comments of multiple items at once!
I think the OP wants the functionality only for one file at a time. Like you click a button or hover an item and a dialog or tooltip pops up that shows what other users in the network commented on this file.

jacky
XYwiki Master
Posts: 3106
Joined: 23 Aug 2005 22:25
Location: France
Contact:

Re: Multi-user Tags and Comments

Post by jacky »

admin wrote:I think the OP wants the functionality only for one file at a time. Like you click a button or hover an item and a dialog or tooltip pops up that shows what other users in the network commented on this file.
No you don't :P ;) I mean really, I don't know, but the way I read it (that is, both the OP and your reply to it), it seems he wants to use XY's tags & comments features (as in, the columns, etc) only with whatever the team set, as shared/multi-user tags & comments, not a new/unrelated feature. I doubt he wants to use tags in a library with "hundreds of images in folders on the network" only to click on each file individually to see whatever tags the team set, more likely he'll use the column Tag to list/sort them and quickly find what he's looking for...
Proud XYplorer Fanatic

admin
Site Admin
Posts: 60563
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Multi-user Tags and Comments

Post by admin »

jacky wrote:
admin wrote:I think the OP wants the functionality only for one file at a time. Like you click a button or hover an item and a dialog or tooltip pops up that shows what other users in the network commented on this file.
No you don't :P ;) I mean really, I don't know, but the way I read it (that is, both the OP and your reply to it), it seems he wants to use XY's tags & comments features (as in, the columns, etc) only with whatever the team set, as shared/multi-user tags & comments, not a new/unrelated feature. I doubt he wants to use tags in a library with "hundreds of images in folders on the network" only to click on each file individually to see whatever tags the team set, more likely he'll use the column Tag to list/sort them and quickly find what he's looking for...
I don't have any columns for team tags...

But let's hear what he says... :)

j_c_hallgren
XY Blog Master
Posts: 5824
Joined: 02 Jan 2006 19:34
Location: So. Chatham MA/Clearwater FL
Contact:

Re: Multi-user Tags and Comments

Post by j_c_hallgren »

Jumping into this discussion, I'd agree with jacky's most recent post...in that a user could scan a list of files to see which ones needed approval or work or whatever....without having to hover/click on each one.

I don't think team tags is needed as I read it more as first user sets it to "A"/red, then next person sets it to "B"/yellow, and last person sets it to "C"/green when it moves through the workflow.

In conjunction with this concept, here's an idea: Have some easy way to apply/add the current user name/id to the comments, since OP said that they might use it to track approvals, and having a quick way to "sign it" could prove useful...I dealt with this type of change management software back in my mainframe days and my supervisor could bring up a list of projects that needed approval and "sign" one/many quite easily...now I don't want to morph/bloat XY into a CMS but in the edit comments context, having an option to paste user name might suffice...

Again, just a suggestion based on my reading of OP.
Still spending WAY TOO much time here! But it's such a pleasure helping XY be a treasure!
(XP on laptop with touchpad and thus NO mouse!) Using latest beta vers when possible.

Eugen
Posts: 15
Joined: 21 Oct 2009 18:31
Location: Germany

Re: Multi-user Tags and Comments

Post by Eugen »

This Feature would be great.

+1 MUT :)

Also would be great for Dropbox-User. Dropbox sync's your files with your other computers. I am already using XYplorer with it. So that I only have "one" place where XY is and on all Computers I have my newest config or something like that... :-D anyway this feature would be great :)

Eugen
OS: Win7 (sometimes Vista too)

Stefan
Posts: 1360
Joined: 18 Nov 2008 21:47
Location: Europe

Re: Multi-user Tags and Comments

Post by Stefan »

admin wrote:A more hardcore solution (with advantage of extreme flexibility, and that it would not add stuff to the GUI) would be a new scripting function:

Code: Select all

  gettag(item, tagdatfile)
which would return tag/comment info on "item" in "tagdatfile". Maybe accompanied by command:

Code: Select all

  settag(item, tagdatfile, tagID, [comment])
This couple would give a lot of possibilities to a talented scripter...
I came here searching for an readComment() feature.

Since i think there is no such feature yet i want to remind on this implementation.

I believe i could parse the tag.dat to read the comments...
but then i missed the SC option to save the tags/comments first :lol:
while(1)
  {
    $file = gettoken($SessionFileS, $Loop, "|");
    if ($file==""){break;}

    $Comment = comment( r, $file);
    If (strlen($Comment>20){$Comment = substr($Comment,20);}

    $comm = $comm . $file . " - " . $Comment . "|";
  incr $Loop;
  }

$Chosen = inputselect( ,$comm);

jacky
XYwiki Master
Posts: 3106
Joined: 23 Aug 2005 22:25
Location: France
Contact:

Re: Multi-user Tags and Comments

Post by jacky »

Stefan wrote:I came here searching for an readComment() feature.

Since i think there is no such feature yet i want to remind on this implementation.
You mean to read the comment of an item? If you can go to & select said item, just use report: msg report('{Comment}',1);

Side note: anybody else gets an error message (after the expected popup) running this: msg report('{Comment'},1); ?
Proud XYplorer Fanatic

Stefan
Posts: 1360
Joined: 18 Nov 2008 21:47
Location: Europe

Re: Multi-user Tags and Comments

Post by Stefan »

Thanks jacky.

But i didn't want to go there... it's too many "visible movement" to switch the tabs.
Not to talk about the time it needs if the target is not response in no-time.

Either i need an command to hide the executing of the script, so the user didn't see anything.
Or, - and this leads me to my next request which i want to do next- : execute report() command remote, i.e. without the need to go there first.
Like report("{}",, $TargetDir);

Often i have the need to get or set information in an target folder
and have to go there first. Would be nice if we could execute scripts "in background"
maybe as an other thread so we can work on while the script works.



Stefan, ...just searching for improvements for his scripting issues...

jacky
XYwiki Master
Posts: 3106
Joined: 23 Aug 2005 22:25
Location: France
Contact:

Re: Multi-user Tags and Comments

Post by jacky »

Stefan wrote:Either i need an command to hide the executing of the script, so the user didn't see anything.
Or, - and this leads me to my next request which i want to do next- : execute report() command remote, i.e. without the need to go there first.
Like report("{}",, $TargetDir);
Yeah, a new param source for report() is an old wish of mine, and it makes sense, so I'm sure one day it'll find its way to the top of Don's to-do list... or just hijack his inspiration flow 8)
Proud XYplorer Fanatic

Post Reply