[imc-cms] [bitweaver-core] Indymedia.org CMS Developers Survey - please read!

Christian Fowler christian at viovio.com
Mon Feb 19 18:07:49 PST 2007


Hi Ryan,

Thanks for the note. We'll do our best to convince you bitweaver is the 
best thing since the dashboard blender.

Short survey answer:

http://www.bitweaver.org/wiki/Bitweaver+Features is the "out of the box" 
things you can do. http://www.bitweaver.org/wiki/documentation has a 
pretty complete list if you want to dig in to details.

> ---------- (survey begins) ----------
>
> INDYMEDIA CMS DEVELOPERS SURVEY
> Please fill in as many questions as you can. When you are completed,
> you should email your responses to imc-cms at lists.indymedia.org
>
> 1) Survey Part 1 - Personal Details
>   a) Your name?

Christian Fowler

>   b) Your geographic location?

Raleigh, NC, USA

The project has about 46 contributors around the globe according 
to our CIA stats: http://cia.navi.cx/stats/project/bitweaver

>   c) How long have you worked with Bitweaver and what work do you do
>      with the project?

I am one of the bitweaver founders and played a large part in 
bitweavers core structural architecure (code and schema design).

We stated in December 2003, and are on the eve our second generation R2 
version.

>   d) Do you work on any other CMS projects?

I have commited to TikiWiki and Gallery2 in the past, however I currently 
dedicate 100% of my current efforts to bitweaver.


> 2) Survey Part 2 - CMS Basics
>   a) What programming language is Bitweaver written in?

PHP

>   b) What is the backend database used by Bitweaver?

We actively test and support Postgresql, MySQL, Firebird, and Oracle. 
Postgres is our strongest supported DB as our largest installs run it.

>   c) Are there other servers required (application server, Tomcat,
>      etc)?

Just Apache + PHP. PHP4 is fine, though we heavily use php classes.

>   d) How do you describe the overall software design of Bitweaver?

In the geeked up words of Colin Powell, "You fork it, you own it" which 
really sucks for large codebases. The goal was to avoid this, so bitweaver 
was designed from the ground up to allow custom code and pristine mainline 
source to peacefully co-exist. There are many heavily modified bitweaver 
installs, and all run with a pristine distribution.

So a core belief we hold is "all needs 
have equal merit". In order to make everyone happy, we have modularized 
bitweaver until it is possible to just about implement anything you need 
without have to touch the main source.

Unlike many CMS, you can rip bitweaver to the barebones, and use just a 
few pieces (we call those pieces packages) or whip up your own custom 
package and leverage the power of our Liberty CMS engine. See 
http://www.bitweaver.org/wiki/LibertyPackage and the 
http://www.bitweaver.org/wiki/SamplePackage

Bitweaver makes strong use object oriented design.


>   e) Can you give details about real-world scaleability
>      considerations for Bitweaver?

Current very high traffic/high data sites include:
http://www.lulu.com - user storefronts, and blogs
http://www.voip-info.org - whole site
http://www.viovio.com - whole site
http://www.onnyturf.com - whole site

These have millions of page views per month, or millions of pieces of 
data, or both.

>
> 3) Survey Part 3 - CMS Functionality
>   a) A core feature of our software is the ability for anonymous
>      users to post media to appear on the site. Is this easily
>      added to a site using Bitweaver?

Every viewer of a bitweaver page is a user. For those not logged in, they 
are assumed to be the anonymous user. The beauty in this is the powerful 
granular permissioning can be easily targeted for all kinds of users - 
anonymous, editors, admins, etc.



>   b) Can you describe the site search functionality available?

Search is modular, like all of bitweaver so you can use one of the 3 we 
have available, or roll your own. We have a LucenePackage which makes use 
of the fabulous lucene search engine from apache.org. It scales to 
millions of pieces of content. We have a more advanced search for shared 
hosts where installing software requirements for lucene is not possible. 
And for little sites, we have a simple "ilike" search package.


>   c) How is RSS/XML/RDF support included?

Yes, we have an RSS package. if you don't like it, you can rip it out and 
roll your own ;-)


>   d) We would like to have one server per site which allows many
>      instances of actual websites, each with different admin logins
>      and different websites altogether. Is this easy to set up with
>      Bitweaver?


>   e) Can you describe the multimedia support in the software? We
>      allow users to upload and manipulate online all types of media -
>      mpeg, mp3, ogg, jpg, pdf, etc.

Our FisheyeGallery package has extensive support for all visual media, 
including PDF thourgh it's use of the wonderful MagickWand php module from 
the ImageMagick project. Video support is likely on the horizon.

We have a TreasuryPackage which is for sharing files. I haven't worked on 
it, so I am not sure how well it supports music & video.

Our media processors are modular so you can roll your own as well.


>   f) Internationalization is very important to us. Many of our sites
>      support 2-3 or more languages. Can you describe how this is
>      accomplished in Bitweaver?

Our translation is one of the best I have seen. Unlike complex .po files, 
we allow online editing of translations by the users themselves! In 
collection mode, bitweaver will pick up all strings that need to be 
translated, and users can enter the translations. The translations are 
stored in the database for ease, however they are cached out during 
run-time so there is no delay when translating.


>   g) What types of anti-abuse or anti-spam measures are in the code?

We have a nice captcha system.

>   h) Is there a calendar included in the codebase?

Yes, we have a nice calendar package.

>   i) How do you describe how a user would edit a given piece of content
>      on the website, or briefly describe the model used in this part
>      of the functionality?

Click the edit icon. We have optional javascript html editors, or use 
quicktags for a wikipedia'esque interface.

>   j) How do you describe any type of user moderation system that
>      is built into Bitweaver?

we have granular permissioning to permit/deny just about anything any user 
can see or do.


>   k) What types of integration is there with P2P networks?

none, yet, but a package is easy to build. Oh wait, one guy wrote a 
package that talks to a race car simulation server and displayed real-time 
data. http://www.nasrl.net/ was the site. Not exactly what you want, but 
shows the concept in action.


>   l) Another important feature for us is networking between the
>      websites. If we want users from one website to have rights on
>      another website in the network, how could we do this?

that sounds complex, but not too bad. I would have a master bitweaver that 
holds all permissioning and authentication.

>   m) We are concerned with the ability to easily rsync pages from a
>      website to other servers and setup a type of mirroring scheme.
>      How would this be accomplished with Bitweaver?

Just build a simple package to do this.

> 4) Survery Part 4 - Miscellaneous
>   a) What do you believe are the top selling points for Bitweaver?

The 3M's: modularity, modularity, and modularity. I hate being forced to 
use some code I don't need. With bitweaver, just delete the directory and 
it is gone. *poof*. Also, if you need to write custom code, this is what 
bitweaver was designed to do. Just like our extensive list of 
http://www.bitweaver.org/wiki/Bitweaver+Features - where each package can 
grow at it's own pace without bumping into others, your custom code and 
slide right into a directory next to the others, and you're off.

Most projects need the basics in place - users, themeing, database, 
however quickly need to add a few bits of custom functionality. bitweaver 
is designed to do this without needing to edit the main distributions. We 
even have Ajax modularity: Prototype? Mochikit? we've got it. You can 
choose.


>   b) From what you know about the Indymedia network, how well do you
>      think IMC would mesh with the development community for the CMS?

Perfectly.

>   c) What are the top 3 areas you believe the development team for
>      the CMS needs to be improved?

We need better marketers because our system is very nice, but we spend 
most of our time engineering.

We could use a release manager to get us better co-ordinated about getting 
releases together.

We could use some phpUnit type action.


>   d) Where do you see Bitweaver in five years?
>

Sunning itself on a lanai on Maui, sippy some fruity pineapple drink, as 
Joomla fans it with palm fronds, Drupal picks the lint from its 
toenails, and Rails peels it some grapes.


[ \ /   Christian Fowler             | spider AT viovio.com
[ >X<   http://www.viovio.com/spider | http://www.bitweaver.org/spider
[ / \	            ~~~ always plan in the millions ~~~


More information about the imc-cms mailing list