How is Community Weaver 2 different from Community Weaver 1?

in Moving from CW1 to CW 2.0

 

How is Community Weaver 2 different from Community Weaver 1?

Background information

December 22, 2011

 

Dear TB Coordinators,

I am very interested in developing transparent communication structures for our network of TimeBanks. I am new to TimeBanks USA and from day to day I am continuing to learn about our current situation. I think that it is important for the TimeBank community to be informed. In fact, it is essential if we are going to be a collaborative community. Therefore as I learn about CW2 and its development, I will be sharing this with you.

Please excuse me if I repeat things that you already know. I want to share with you some important concepts of the change we are going through in the move from CW1 to CW2. I do not want to get into too much technical detail, so will try to keep it simple. For the more technically experienced, the analogy I will be drawing is not perfect. It does, I believe, give the non-programmers among us a way of better understanding what is happening. This letter is an offer. If you do not want to read it, please skip over it.

Community Weaver 1 (CW1) and Community Weaver version 2.0 (CW2) are 2 completely different software programs. CW2 is not an update from CW 1 but it is a completely new program. CW2 was built with different "materials" than CW1. This is one of the reasons why it has new and different features as well as new and different issues.

Community Weaver - version 1

CW1 was a single program running as one instance, with one database. Everyone shared the same program and the same database. Because it was one program, each TimeBank worked the same. Any software changes resulted in the same change for all. As the number of users grew, the system became slower and slower. Another aspect was that because all were using the same database, no one could use the same email address in a second TimeBank. Using the analogy of a house, CW1 was like one huge house with many people in it. Maybe each TimeBank had its own tiny room but they were all sharing the same kitchen, the same cook, the same dumbwaiter and the same heating system (with no zone control) any changes in the heating temperature or the menu resulted in the same change for all. This house did not have the flexibility that was needed and it was becoming overcrowded.

 

Community Weaver - version 2.0

It is also called Community Weaver, but version 2 is a completely new software program. Compared to building a new house, it is like starting from scratch with a new location, new materials, a new design, a new architect and new builders. It will still be the same as the old house in that it has a basement, walls, windows, doors and a roof but it is completely new and therefore different. It will still function to protect you from the environment as the old house did, and it will most likely have some improved functions (maybe better insulation, etc.) but it will be different, with a different layout, a different view from its windows, even different rooms.

CW2 is built upon an existing software (called Drupal) that consists of many parts (called modules). Some could be used as is. Others had to be customized or even written to do special TimeBank functions.

To stay with the analogy of a house, CW2 is much more like an apartment building. Each apartment can set its temperature differently for different times of day or night, independently of the other apartments. Each apartment has its own cook and its own menu for meals. Each apartment can have a different decor. And each apartment has its own separate storage place (the database) On the other hand, they are all the same -- the same size, the same shape, the same floor space, the same number of windows, the same shape of windows, the same doors at the same locations, etc. The bathrooms and kitchens are all at the same position in the apartment because the pipes need to go straight up and down the walls. The renter of each apartment can change a lot, but if they want to have any structural changes made that affect the other apartments or the entire building, then it become a common issue and also more difficult to implement.

Back to CW2. It is built upon what is called a "multi-site" software called Drupal. There are core parts (modules) of the program that are used (shared) by all the separate TimeBanks. These parts function the same for each TimeBank.

For each TimeBank there is a separate space (similar to a separate apartment) where the TimeBank coordinators can make many changes that do not affect other TimeBanks. Anything that the coordinators can change falls into this category. It can not harm another TimeBank. Many of those changes can make your TimeBank look different from other TimeBanks.

If a TimeBank has a Site-Admin, then s/he can install additional modules (program parts) in this separate space. These changes are only for that one TimeBank. Since Site-Administrators can also inadvertently make changes that could have a negative influence on the the entire system, they need to be experienced with Drupal and must realize what the implications are of their actions. Using the house analogy, the experienced Do-It-Yourself'er can install a second wash basin in the bathroom and can add a double sink to the kitchen instead of the single sink, but s/he cannot change the location of the bathroom or the kitchen without changing the location for all the other apartments. A DIYer could also accidentally create a water leak that would cause a problem for other apartment dwellers.

 

Making Changes

At any one time, each individual TimeBank could be using the shared modules in a different way (depending what that TimeBank is actually doing). So any changes to the shared modules needs to be done very carefully. Also a lot of the shared program information and settings for each TimeBank are stored in its own database (in its own apartment). For some issues changes must be made by changing settings in each of the TimeBanks individual databases. Coming back to our analogy, that means that the programmer must visit each of the individual apartments and make the same change at each place. If it is agreed that all the kitchens should be moved from the the north wall to the south wall with the sink under the south facing window, then that work needs to be done in each apartment. In our current TimeBank situation, in 281 different apartments.

In the case of making changes to CW2, the programmers must write a program that will communicate with each of the 281 individual TimeBank databases to make the necessary changes, without impinging on the function of the TimeBank.

Some apartment dwellers may want to move their window three feet to the left in the same wall. That might not be possible because of a structural beam that is in the wall at that position. In CW2 that is analogous to changes that would affect the entire program in a negative way and therefore cannot be implemented.

The bottom line is that increased flexibility and the need for implementing different features for different TimeBanks brings with it an increased complexity in the implementation of changes across all the TimeBanks. This is why it is currently often not possible to make what seem to be simple simple, little changes quickly.

 

Using the analogy one last time (in this email), I am guessing that for many of you coordinators, the change from CW1 to CW2 was similar to someone coming to your house and re-organizing everything while you were out of the house. By reorganizing everything, I do not only mean reorganizing the location of the contents of the drawers, cupboards, bookcases, and closets but also reorganizing the number and location of the rooms, the placement of the doors and even the size and shape of the hallways. And in the process some things got lost, other things were improved and look (or work) better, others are almost impossible to find. But even it it might be better, it is so different, so strange. So, for example, when you walk into the kitchen and reach for the silverware to set the table, you end up with a handful of dishtowels or something else. How do I find anything? Oh, how frustrating. Well, there is not that much we can do about the reorganized TimeBank "household". But there is something that we can do about the things that got lost. As I wrote in my previous email, we are working on it.

I hope that this is understandable and that it helps you to better understand some of the basics about the changes we are going through. More in the next mail.

Best wishes,

Eric

Timebanks TechCoordinator