View · Index
No registered users in community rubick
in last 10 minutes

Why use OpenACS

What do we want to talk about in this section

When IT managers and developers set out to solve their technical problems, they usually proceed by solving their immediate needs. The website needs a forum? Great, let's take one of those open-source forums, and stick it on our website. Hmm, the forum is now pretty popular, but we want to add in an online store. Let's find some ecommerce software and stick it on the site.

 

_what is unique and positive about OpenACS?_

 

- Large, active and open community - One CORE with easy access to new modules (in contrast to PHP based solutions). - Sophisticated API for quick development of websites (formbuilder, database and permissions) - Many packages ready to go (read: Click install and it will download everything for you). - Prepackaged vertical solutions for specific markets: .LRN, .WRK - Proven to work reliably in enterprise scale websites. - Large diversity of uses (E-Commerce, CMS, Intranet, Courseware Management). - Community centric with a focus on easy interaction between users (RSS, Notifications, Jabber, Forums, Blogging, ETP (Homepages), File-Sharing, Group Calendar).

 

That's just what jumped my head at the moment. But for things like that it is better to brainstorm with more people in the room.

 

http://dotlrn.mit.edu/case-studies/

 

This method certainly works. But after building a number of sites this way, you begin to see problems with it. For example, the forums and ecommerce packages will have their own way of dealing with users and permissions on the site, and they won't interact with each other. You can't find out interesting information like if there's a correlation between participating in the forums and shipping on the ecommerce portion of the site.

 

OpenACS Describe how people typically do things: need this, create this, need this, create this... Describe how OpenACS makes things easier
Delegation / Permissions
User and group management
Laziness (it makes it easier)
Lots of documentation
-active and knowledegable community
-in continuous development
-flexible (ie. open source)
-high performance web server
-operates on free *nix's
-lots of prebuilt functionality
-TCL is easy
-APM package manager and modular organization
performance scalability (with technical reasons supporting it) from PhilG's book etc

 

economic scalability (low entry costs, price scales with project size (because of performance scalability and open source)

 

customability (freedom to modify as needed, and responsibile for results that go with it)

 

available resources (open-source communities, documentation) * templating system (including ad_form, tight integration with db_ procs) * many existing modules to play with * existing architecture that is a good point between being rigid and flexible from which to launch your own apps * package manager encourages feeding apps back to the community * commercial quality design and implementation

 

community collective behavior, on whole, consistent with long-term project vision, priorities, values

 

open-source (opportunity to contribute to something "big", opportunity to learn from competent quick-fixers and like minded long-term solution providers etc.).

 

My rant on #openacs:

 

[13:42] > We should set up groups of people who have access to ETP instances. If we have a good Wiki tool with ETP, we should be able to give out permissions liberally, without worrying about hacking too much (they won't be able to enter HTML). [13:43] > I think the lack of a secure way of delegating out ETP instances has been a huge hinderance. [13:44] > That will be a major win for websites, because you often want to delegate stuff out, but don't know the people you're delegating it to very well. I think this is a big win for OpenACS. [13:44] > For www.safe4all.org, for example, we'll use that heavily. It allows for delegation, and yet requires very little computer knowledge. No HTML, etc.. [13:45] > And since things are versioned, if someone is malicious, you just remove them from the system, roll back the changes, and you're ready to go. [13:45] <skaufman> that's great! [13:45] > Honestly, I think ETP Wiki on an OpenACS platform is about all you need for 70% of the sites out there. or more.

 

I first noticed ACS when a former colleague pointed me to the hilarious recruiting page of arsdigita: http://web.archive.org/web/20000510060828/www.arsdigita.com/pages/jobs/recruiting [1] (archived without the Ferrari photo unfortunately). From there I started reading philipps books, the bboards etc. - a typical route propably. I was working with java and php on developing web systems then, which tended to reinvent common concepts again and again, so I was easy to convince I guess.

 

The two concepts that drew me most to (Open)ACS, deserve to be emphasized again, although they have been mentioned already:

 

- Two-Tier Architecture - http://philip.greenspun.com/panda/databases-interfacing [2] - Reusable code

 

[1] http://web.archive.org/web/20000510060828/www.arsdigita.com/pages/jobs/recruiting [2] http://philip.greenspun.com/panda/databases-interfacing

 

Chris:

 

AOLServer was chosen because it has the scalability and built in parsing ability, etc, etc. AOLServer is not a forking server, allowing it to scale much easier, etc. AOLServer handles the traffic of many of the busiest sites on the internet.

 

Oracle was originally chosen, and later PostgreSQL because they are ACID-compliant databases with established track records of reliability and rock-solid performance.

 

OpenACS is a framework that runs on top of AOLServer and Oracle or PostgreSQL which allows you to pick and choose the toolkit components to develop a site solution for your business/school. The OpenACS package library includes packages to handle Press Releases, News Articles, Forum Capabilities with Notifications, Calendaring and Events management, etc. etc. Pick from many other packages to enable your site with a Bookshelf or Photo Album, etc.

 

A testament to the ability to use the OpenACS framework is the .LRN project which enables Universities and teaching institutions to support course management, e-learning, departmental and schoolwide collaboration, etc, etc.

 

OpenACS has the tools and capabilities to scale with your organization with its ever growing repository of additional packages. OpenACS is open source and operates with PostgreSQL, reducing your TCO. Because the framework encompasses many standard methods, developers can use defined APIs to handle tasks, dramatically reducing time to market on enhancements. (after a very very steep learning curve haha)
How is it different from a LAMP solution?