This discussion was fascinating … and I am very glad that Stuart and Darren invited me to be a part of this.
I had an issue a few weeks ago where a Community owner of a Lotus Connections Community deleted the forums widget – realised that deleting it – well actually meant it was gone.
In the user’s defence, they wanted to make the forum read only and thought that removing it from the community would mean it would be retained elsewhere.
My poor distraught user did actually say that the system warned that it was going to delete it – The user in question is not dumb, They are intelligent, switched on and web-savvy, yet still they managed to delete something that actually warned them it was going to be deleted.
My initial reaction was “how can anyone be so STUPID?” I huffed and puffed and once my initial mood of “muppet” had worn off I thought about it in more detail.
Maybe for community widgets the error message needs to be more specific, users need to realise that deleting means not just from the community but GONE – this is not apparent it seems – some work may need to be done here.
The user in question called me in a panic once the widget had been deleted and realised that the information contained in said widget was not available outside of the community.
I tried to play the “sorry – it’s gone” card, but this was possibly the most important thing ever stored on the Connections environment – Consultation feedback about our Vice Chancellors vision for where the University is heading for the next 5 years,
I started taking a serious look into how I would get this information back – I thought it would be a chore .. but do-able, It wasn’t as straight forward as I had hoped.
Communities are a fantastic thing inside connections – having a collection of people collaborating on a certain subject, or a bunch of like minded people just *shooting the breeze* getting ideas out and sharing knowledge. Many of the users here love the fact they can customise their own communities by adding removing and hiding widgets – fabulous for the users .. nightmare for the admins.
On the whole Disaster Recovery isn’t an issue – we all have the multi-tier, multi-layed system covered with the DB, AppServer, WebServer, File system, OS covered.
Its the incremental one file, one widget, a wiki page which seems to be the biggest headache – heaven forbid you remove a whole community as that is a whole lot of hurt that you don’t want to visit.
The single applications that sit outside connections are pretty hard to restore bits of as it is .. there is the DB to consider – tables for the actual application, things stored in the file system, dependancies, triggers or key to other DB’s – which makes it pretty tough to work out exactly what you would need to restore at any given point in time – chances are something is going to be lost in a restore.
Communities brings a whole new level of complexity to the party – as well as the community application there are the 6 or so widgets to add as well leading to some very complex relationships between the DB tables in ways that will make your brain dribble out of your ears, as well as complex relationships to the file system. I personally haven’t found any decent documentation on restoring sections of a community or a whole community.
The fact that connections relies so heavily on the database and it’s ties to the file system I am really surprised that at least the DB relationships aren’t documented.
After working with WebSphere Commerce (on as/400, iSeries) in my previous employer (IBM Premier Business Partner) we had much the same issues. WebSphere Commerce is the only other IBM product that I have come across in my 10 years of being involved with this stuff, which has such a heavy dependancy on it’s DB relationships.
We spent about 5 years working with IBM to make the documentation better and assisting with beta programs, testing next versions of WCS and giving IBM all the feedback possible to help with making the product and documentation as great as possible.
One of the best things about the commerce documentation was the reference section – particularly the Database reference section. Each table listed with a description of the table and information on each field there is also index and constraint information and information on which tables and constraints reference the table you are looking at (see images at the end of the post)
By all means just having information about the DB is not going to be enough, but it is a start. Connections is such a complicated piece of software – and as it improves and is easier to customise – it’s going to get more complicated. BUT Connections is sold as an enterprise ready application and for it to be totally successful it needs to have enterprise ready documentation on administering the back up and recovery of features and individual files, folders and pages.
Whether this is handled by “soft delete”, admin commands, or a 3rd party application – it needs to be looked at as a matter of urgency.
In the end to allow the user to get access to the information deleted it was easier to restore the entire DB to new DB instance, build a stand-alone Connections server to point to the DB, do a small amount of DB manipulating and the user copied the forum questions and responses off in PDF format and has since uploaded them back to the files sections of their community. All in all that took approximately 2 days – just to retrieve 28 pages of information – a pain, a lot of hassle, but that appeared to be the fastest way at the time.
I would be more than happy to discuss my experiences with attempting to restore, and experiences around similar issues seen in Commerce if it will help in anyway. I am sure there are other members of the Connections community that would be happy to assist too. Connections is a fantastic product, lets make it better but helping us poor admins out 🙂