Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007867opensim[GRID] Other Servicepublic2016-03-28 10:482016-03-29 05:41
ReporterGavin Hird 
Assigned To 
PlatformOSOS Version
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0007867: FEATURE REQUEST: Add provisioning for making a Group Note STICKY.
DescriptionAdd provisioning for making a Group Note STICKY, by

• Adding a flag field for to the os_group_notices database table
• Add code to set unset the flag for a note record when created / edited
• Add code to restrict the ability to mark a note Sticky to a) the group owner, or b) to an arbitrary group role as part of the normal procedure of defining group roles
• Add code to communicate the flag status to the viewer, and for the viewer to set /unset to flag for the role(s) above
• Sort the group notes on presentation with the sticky notes to the top (perhaps best done in the viewer)
Additional InformationThe use case would be for the group owner / admin to make notes sticky for information that needs to be communicated to all new users, or needs to persist over times longer than the current 14 days after which notes currently are purged.

TagsNo tags attached.
Git Revision or version number
Run ModeStandalone (1 Region) , Standalone (Multiple Regions) , Grid (1 Region per Sim) , Grid (Multiple Regions per Sim)
Physics EngineBasicPhysics, ODE, BulletSim, Other
Script Engine
EnvironmentMono / Linux32, Mono / Linux64, Mono / Windows, Mono / OSX
Mono Versiontrunk
Attached Filespng file icon No default sort enabled SL viewer.png [^] (80,984 bytes) 2016-03-29 05:33

- Relationships

-  Notes
melanie (administrator)
2016-03-28 11:23

Group notices are sorted by date. While it is possible to add such a flag and maybe add buttons in the viewer to flag a notice, the sorting isn't that easy to fix. Also, historically, it takes a long time for changes in the viewer to get to all viewers, so presentation changes (like "sticky") would only work on viewers that have that code.

However, there is a possibility to make this work. The viewer's menu has four "insert points". At least Singularity implements this, other may have grabbed that code, too. New menu options can be inserted there and, when activated, a message is sent to the server. This can be used to implement sticky setting.

For sorting, the server could overwrite the sticky notice's date with the current date when sending it to the viewer, thereby ensuring it's always at the top of everyone's list of notices.

Finally, expiration is a serverside function and can be made conditional on the sticky flag - sticky notices would not expire.
Gavin Hird (reporter)
2016-03-28 11:31

If you do as you suggest and ensure the sticky notes are sorted to top server side, old viewers would always get to see the sticky note, they just would not be able to set on creation or change the flag on edit.

Both for performance reasons (writes are expensive) and for "audit trail" I'd prefer the creation date is left intact, but rather sort on two criteria when fetching the notes.

> Finally, expiration is a server side function and can be made conditional on the sticky flag - sticky notices would not expire.

Exactly, that was my thinking too.
melanie (administrator)
2016-03-28 11:33

I didn't say to change the expiration date in the database. I said to change it on-the-fly when data is sent to the viewer.
Gavin Hird (reporter)
2016-03-28 11:37

Right, OK :-) That would work too, but it would show the note with the wrong creation date in the viewer.

To sort on two columns after retrieving the notes for a group is super-fast on the database server and needs no other code but the SQL query. Because of the 14 day expiry purge, most groups should have very few notes, and at most a few hundred at any time.
melanie (administrator)
2016-03-28 12:37

I think you're misunderstanding the issue. This sorting is not done serverside. The viewer's list box sorts by date. If this is to work without viewer code changes, munging the date is the only way.
Gavin Hird (reporter)
2016-03-28 12:50

No, I don't misunderstand. I'll check the viewer code what it actually does, and for this to work properly it requires changes in the viewer code and the group floater layout when not logged in to SL. The question is how to best present the result in a viewer that are no longer maintaned.
melanie (administrator)
2016-03-28 12:53

I believe this isn't going to fly if it _requires_ viewer code changes. The price of having a "wrong" date showing on a sticky notice is well worth saving the hassle of viewer code change.
Gavin Hird (reporter)
2016-03-28 12:56

Hehe, it will require viewer changes anyway to mark it as sticky on creation, set it to sticky or not on edit, and the note needs to be marked as sticky when displayed in the list of notes, and at the same time be sorted to the top.
melanie (administrator)
2016-03-28 13:03

The menu insertion stuff means it doesn't _require_ changes for that. Sorting to top is done by faking the date. ** Sricky ** can be prepended to the title. No changes _required_.

It is important that such a feature doesn't require viewer changes. It can be supported by viewer code changes in specific viewers but basically it can not be assumed that all viewers will accept a change unless the change comes from SL.
Gavin Hird (reporter)
2016-03-28 13:19

> but basically it can not be assumed that all viewers will accept a change unless the change comes from SL

Well, that is what will distinguish a good OpenSim viewer from a not so good one. Besides, as soon as Sansar is being launched, the changes in the SL viewer aa we know it will dry up.

In reality we are talking about 4 viewers that are actively being developed with OpenSim specific features; FS (diminishing support), Kokua, Alchemy and Cool VL viewer (not sure he has added much OS specific lately). Singularity development seems to have taken a standstill.
Gavin Hird (reporter)
2016-03-29 05:41

The default behavior of the SL viewer is to not apply any sort to the notices (see uploaded screenshot) but will present the notices in the order they are received from the server. – Meaning you can send a pre-sorted list to the viewer from the server with the sticky notes bubbling to the top.

The Kokua viewer has the same behavior and I would think Alchemy does the same as it primarily use the SL code. Singularity has applied a descending date sort to the list.

The XML defining the list has a hidden field that its used for sorting, in addition the already existing Icon field can be used to insert a Sticky Icon for a list item. So you don't really have to make much changes (if any) to the screen layouts / behavior.

         width="20" />
         width="110" />
         width="100" />
         width="60" />
         width="-1" />

- Issue History
Date Modified Username Field Change
2016-03-28 10:48 Gavin Hird New Issue
2016-03-28 11:23 melanie Note Added: 0030123
2016-03-28 11:31 Gavin Hird Note Added: 0030124
2016-03-28 11:33 melanie Note Added: 0030125
2016-03-28 11:37 Gavin Hird Note Added: 0030126
2016-03-28 12:37 melanie Note Added: 0030127
2016-03-28 12:50 Gavin Hird Note Added: 0030128
2016-03-28 12:53 melanie Note Added: 0030129
2016-03-28 12:56 Gavin Hird Note Added: 0030130
2016-03-28 13:03 melanie Note Added: 0030131
2016-03-28 13:19 Gavin Hird Note Added: 0030132
2016-03-29 05:33 Gavin Hird File Added: No default sort enabled SL viewer.png
2016-03-29 05:41 Gavin Hird Note Added: 0030135

Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker