I've had a fair bit of interest latley on extending the page notifications package for other types of notifications, such as environment config notification, and permissions setup, and more.
I thought I'd start this thread for people to join up, and share some ideas on where they would like to see it go moving forward, and to see who would like to get involved.
I've had several package ideas which need a nice way of notifying users with various feedback (for instance, XSLTouch could confirm that its done its job, CSS Compression has occurred, XSLT unit tests all passed. The speech bubbles that are already in Umbraco are not built in a nice way for doing this though (only one message at a time and difficult to get to) so I'd love to see a simple message area in your bar which can display such info as and when it arrives (eg. "Someone else has saved this document, please compare the changes before saving...").
For this to work we are looking at an ajax poller hitting the server to check some sort of message queue (must be a queue as multiple packages/code might be using it so it can't be one message at a time). Messages need to be any html we like although some simple wrapper methods for creating simple text alerts etc. would be good. My XSLT tester though could do with a link off to the results page etc. hence the need for more options than just a message and an icon.
For the queue I thought simply storing it in the session would be a quick solution although its not server farm safe. Better might be to just store a message by member, this allows us to store messages for next time they log on. Then there are the issues of who should see the message? Admins only, only certain people, everyone? That needs a bit of thought, I've not do anything with membership as yet so can't suggest anything although I know it needs some though.
I love the idea of having a simple feedback regarding which site you are on (dev/staging/live etc.)
I've already been adding the environment indicator to this project (see latest commit in codeplex).
I'm also working on an extra "Are you sure" question when clicking on save (and publish) buttons when not working in a dev environment and when you're logged in as an admin (environment and role are configurable).
Richard's idea for what is basically a security audit is also very cool, would make a good dashboard I think.
With all of these changes, a name change is probably going to be necessary. Not sure about the name yet, anybody have any inspiration?
Pete: Sounds good, as for the roles (show it to admin users only, or others), I've built in a config option for that.
With the method that Matt has used for the notifications it would be pretty easy to just add your own speechbubbles, so that should not be much of a problem.
This was almost along the lines of the idea I mentioned yesterday on twitter, of a way to see what is happening on a given page, ie a notification saying "John has just started editing this page", where John might see "Kevin is already editing this page", but also tied into a lightweight chat system, so John could speak to Kevin to ask him to leave or something.
I think there is almost 2 types of messaging going on here though aswell, as obviously, the server notifications would want to stay on screen at all times, where as XSLT messages, and editor messages, would come and go.
Does it sound like we need some kind of notifications interface then, for displaying notifications? So basically the ballons system but on steroids? With the option to choose where the notification is placed, how long it stays, and it's content?
Yep, defo need a nice simple API for generating messages, well popping them onto the queue at least. Why not go with something similar to the javascript console style as its well known and easy enough to do:
Great ideas... My idea was indeed to have a custom dashboard control on developer/settings section that checks config files and filepermissions for certain environments.
So on your development environment you can have debug mode enabled, you can have write access to bin folders etc without being warned. On the staging/live environment it will report that is better to disable access to bin and that you better disable debug mode.
Don't know if that fits the Page Notificaction package?
Hi guys, having had a chat with martin from Microsoft in the bar after UK Fest - it turns out there are way more things can be done with IE9's pinned mode than I thought. It might be cool to combine some of the notifcations, especially if you go in for any kind of chat style features - you can make the icon flash orange like MSN/Skype do, and display an overlay icon - eg unread messages/alerts! (all handled with javascript)
Not sure what your plans are for the system, but I'd love to help with some IE9 integration - it looks like I'm going to be doing something based on it for work too so I might be able to offer some experiences, and maybe some ideas!
To be honest, I think the IE9 extensions are really cool, but it IS another proprietary Microsoft thing. Remember "Accelerators" from IE8? Yeah, nobody else does.
So, yes it will be cool to build them and I have no objection to adding these to the project, but there has to be a fallback for other browsers.
So what do people think the next steps should be? I'm a bit stacked at the moment, but would be good if we could come up with some real plan of what this package should be / do and then a breakdown of what we need to do.
I'm keen to not make the messaging part a replacement for .net's Trace abilities hence referring to it as Notifications. I think messaging would be a really great addition to have and having it in your top bar Matt is certainly the right place for it.
Sounds like there are a number of different ideas as to what should be in the bar. Leads to be think that it might be an idea to allow other packages to add widgets to it somehow? So you could create a DLL which registers a widget on the tool bar? That way we build the basic tool bar and then create each of our additional ideas a widget to plug into it. Too far thinking at this stage? If so then we should at least have a few defined CSS ID's that people can rely on being available so they can inject their own widgets in via JS if they needed too.
Messaging queue is a worry, DB driven or just a HashTable of Queue objects stashed an application variable? Happy to have a play with it and come up with an first stab at an API for messaging. Happy to hear any ideas on this though :)
I'm also stacked as always but umbUKFest got me fired up to release some more Umbraco code!
i'm afraid this is not too helpful, merely a specific request.
richard soeteman's disable delete package is great [particularly for one of our more trigger-happy clients], but there is no notification. it would be great if this package also could display an alert for 'umbracoDisableDelete'
Extending notifications
Hey Guys,
I've had a fair bit of interest latley on extending the page notifications package for other types of notifications, such as environment config notification, and permissions setup, and more.
I thought I'd start this thread for people to join up, and share some ideas on where they would like to see it go moving forward, and to see who would like to get involved.
So, let the ideas begin =)
Matt
Oooh where to start!
I've had several package ideas which need a nice way of notifying users with various feedback (for instance, XSLTouch could confirm that its done its job, CSS Compression has occurred, XSLT unit tests all passed. The speech bubbles that are already in Umbraco are not built in a nice way for doing this though (only one message at a time and difficult to get to) so I'd love to see a simple message area in your bar which can display such info as and when it arrives (eg. "Someone else has saved this document, please compare the changes before saving...").
For this to work we are looking at an ajax poller hitting the server to check some sort of message queue (must be a queue as multiple packages/code might be using it so it can't be one message at a time). Messages need to be any html we like although some simple wrapper methods for creating simple text alerts etc. would be good. My XSLT tester though could do with a link off to the results page etc. hence the need for more options than just a message and an icon.
For the queue I thought simply storing it in the session would be a quick solution although its not server farm safe. Better might be to just store a message by member, this allows us to store messages for next time they log on. Then there are the issues of who should see the message? Admins only, only certain people, everyone? That needs a bit of thought, I've not do anything with membership as yet so can't suggest anything although I know it needs some though.
I love the idea of having a simple feedback regarding which site you are on (dev/staging/live etc.)
I've already been adding the environment indicator to this project (see latest commit in codeplex).
I'm also working on an extra "Are you sure" question when clicking on save (and publish) buttons when not working in a dev environment and when you're logged in as an admin (environment and role are configurable).
Richard's idea for what is basically a security audit is also very cool, would make a good dashboard I think.
With all of these changes, a name change is probably going to be necessary. Not sure about the name yet, anybody have any inspiration?
Pete: Sounds good, as for the roles (show it to admin users only, or others), I've built in a config option for that.
With the method that Matt has used for the notifications it would be pretty easy to just add your own speechbubbles, so that should not be much of a problem.
Will mull over this and add thoughts later.
Ok, cool.
This was almost along the lines of the idea I mentioned yesterday on twitter, of a way to see what is happening on a given page, ie a notification saying "John has just started editing this page", where John might see "Kevin is already editing this page", but also tied into a lightweight chat system, so John could speak to Kevin to ask him to leave or something.
I think there is almost 2 types of messaging going on here though aswell, as obviously, the server notifications would want to stay on screen at all times, where as XSLT messages, and editor messages, would come and go.
Does it sound like we need some kind of notifications interface then, for displaying notifications? So basically the ballons system but on steroids? With the option to choose where the notification is placed, how long it stays, and it's content?
Matt
Yep, defo need a nice simple API for generating messages, well popping them onto the queue at least. Why not go with something similar to the javascript console style as its well known and easy enough to do:
Notify.Info( message )
Notify.Warn( message )
Notify.Error( message )
Notify.Debug( message )
Notify.Fatal( message )
With optional, source/title parameters so you could get something like:
Notify.Info( "XSLTouch", "Following templates have been touched: " + templates.join( ", " ) );
Which would render out something like:
"From XSLTouch: The following templates have been touched: image.xslt, sitewide.xslt, globals,xslt"
A bit late (as always :P),
Great ideas... My idea was indeed to have a custom dashboard control on developer/settings section that checks config files and filepermissions for certain environments.
So on your development environment you can have debug mode enabled, you can have write access to bin folders etc without being warned. On the staging/live environment it will report that is better to disable access to bin and that you better disable debug mode.
Don't know if that fits the Page Notificaction package?
Cheers
Richard
Hi guys, having had a chat with martin from Microsoft in the bar after UK Fest - it turns out there are way more things can be done with IE9's pinned mode than I thought. It might be cool to combine some of the notifcations, especially if you go in for any kind of chat style features - you can make the icon flash orange like MSN/Skype do, and display an overlay icon - eg unread messages/alerts! (all handled with javascript)
There is plenty of information about the JS API here: http://msdn.microsoft.com/en-us/library/gg131029(VS.85).aspx
Not sure what your plans are for the system, but I'd love to help with some IE9 integration - it looks like I'm going to be doing something based on it for work too so I might be able to offer some experiences, and maybe some ideas!
/Josh
To be honest, I think the IE9 extensions are really cool, but it IS another proprietary Microsoft thing. Remember "Accelerators" from IE8? Yeah, nobody else does.
So, yes it will be cool to build them and I have no objection to adding these to the project, but there has to be a fallback for other browsers.
@sebastiaan - agreed
So what do people think the next steps should be? I'm a bit stacked at the moment, but would be good if we could come up with some real plan of what this package should be / do and then a breakdown of what we need to do.
Any volunteers?
Matt
I'm keen to not make the messaging part a replacement for .net's Trace abilities hence referring to it as Notifications. I think messaging would be a really great addition to have and having it in your top bar Matt is certainly the right place for it.
Sounds like there are a number of different ideas as to what should be in the bar. Leads to be think that it might be an idea to allow other packages to add widgets to it somehow? So you could create a DLL which registers a widget on the tool bar? That way we build the basic tool bar and then create each of our additional ideas a widget to plug into it. Too far thinking at this stage? If so then we should at least have a few defined CSS ID's that people can rely on being available so they can inject their own widgets in via JS if they needed too.
Messaging queue is a worry, DB driven or just a HashTable of Queue objects stashed an application variable? Happy to have a play with it and come up with an first stab at an API for messaging. Happy to hear any ideas on this though :)
I'm also stacked as always but umbUKFest got me fired up to release some more Umbraco code!
Pete
i'm afraid this is not too helpful, merely a specific request.
richard soeteman's disable delete package is great [particularly for one of our more trigger-happy clients], but there is no notification. it would be great if this package also could display an alert for 'umbracoDisableDelete'
ta
is working on a reply...