Forum OpenACS Development: Announcing Project/Open
It think it's better to start a new thread not to trash the dotWork thread. So here is the message again:
It's really a pity - I've seen the dotWrk pages only a few days ago. Even Dirk Gomez didn't know about them. So I think I have duplicated some efforts...
I'm working on a similar project since June 2003. I started as a project management system for a local translation agency (http://www.sls-international.com/ - someone needs _high_quality_ translation into Spanish? . Briefly checking for alternative system, I decided to go ahead with the old ACS 3.4.8 Intranet that is in productive use at Competitiveness (http://www.competitiveness.com/) with a few enhancements. So I spent the summer customizing the system and building a reasonable business solution.
Telling a few friends about the project and showing them the new GUI, they encouraged me to widen the scope and to actually design a "Project Resource Planning" platform, providing support for several vertical modules (Hi Malte!). So http://www.project-open.org/ popped up into existence.
Recently things got even a little more encouraging. I managed to convince a student from Universitat Politecnica de Catalunya to write his final thesis about building a translation marketplace module for Project/Translation and La Salle University approved a Knowledge-Management workgroup, staffed with 4-5 final thesis students. They are going to use Project/Open as their development base.
So the idea is starting to convert itself into real systems. I'm planning to publish some press releases as soon as I've got a reasonable demo system online.
The drawbacks of the system are its ACS 4.5.8 base, its lack of multilingual support and the restriction to Oracle. And I had to customize the platform quite a bit, in order to get a new fine-grained permission system working (http://www.project-open.com/whitepapers/).
Code is currently not available publicly, because Project/Translation contains customer owned code. The current "Project/Advertizing" project with Opus 5 (http://www.opus5.info/, currently my first priority) will lead to a modularized system and the release of a "core" module and an "advertizing" specific extension module. I hope to finish this reorganization around 11/2003.
A lot of things are still open to discuss or clarify:
- Is Project/Open going to be a separate project, just using the ACS/OACS platform, or is it going to be integrated into OACS?
- How to design the relationship between dotWrk and P/O?
- How to deal with conflicts between the open-source idea and commercial interests? What does the history of ArsDigita and the current state of the OACS system teach us? How to integrate "business guys" into "the community"?
- Is OACS going to take over some of the P/O concepts, such as the fine-grain permission model and the configurable views?
- ... and many more.
Anyway, I think the follow-up discussions should take place in another thread, not to trash the great contibutions above...
I didn't find a single reference to the OpenACS community on your site. It mentions Arsdigita and AOL, but not the OpenACS. That's not good.
Regardless of whether it makes marketing sense or not, Project/Open is built on OpenACS. You should make that clear.
Otherwise. looks really killer. Congrats!
I do wish we had been in touch earlier. Our companies went through very parallel paths.
Our company also started out on ACS 3.4.10, and we were especially interested in the Intranet module, and in tickets. I spent the last three years building and improving upon that platform. Some of that work is proprietary, but a lot of it isn't. However, after Arsdigita dropped ACS 3 support, and offered no upgrade path (which still pisses me off), I made the plan of eventually migrating to OpenACS.
However, nobody ever built anything equivalent to the Intranet module on OpenACS. Only recently has there been any interest in doing so.
Have you seen this link?
The only thing that is really being actively worked on right now is the project manager, as far as I know.
I'm very interested in Project Open, but it's hard to really get an idea of what it is based on the web site. There aren't any screen shots or demos or anything.
I should warn you that the migration to OpenACS is not easy. The payoff is definitely worth it -- probably the Oracle license fees by themselves may pay your salary. However, it will take a significant amount of time, probably months, depending on how many developers you have. Part of the problem is that equivalent applications sometimes just don't exists on the OpenACS end of things, and when they do, sometimes their data model isn't very similar. We're about 75% done with the migration effort, but it's painful, tedious work. The only upside is that it's fun to learn OpenACS, because it's a very slick improvement on ACS, for the most part.
We chose to develop a new project-manager application, and port our current Intranet (which is still on ACS 3.4.10) to project-manager. We also did the Oracle to Postgres conversion at the same time.
I'd be interested in talking with you about plans for porting, and perhaps we can share ideas on how to do it. Our scheme is somewhat hackish, but was easy to implement, and I believe will work for our needs. It isn't really something I would have done if I had known that many other people would be doing the same thing, however. Isn't that always the way...? I'm happy to share my upgrade scripts, however. It would save you a great deal of time, probably.
I'd also be interested in talking about merging our efforts. Rather than have two project-manager programs for OpenACS, I'd be much happier to join our efforts together.
Are you on IRC? You might consider joining us there sometime.
I consider the conflict between open source and proprietary software to be pretty clear cut, in our case. Anything we've built that is clearly just for internal use, we keep internal. Anything that could be shared, we do. For example, we could have developed the project-manager as an internal product, but we'd lost all the benefits of open-source development.
I wrote a permissions system for our Intranet too. The OpenACS permissions system is far superior -- I'd recommend using it.
When you ask about it being integrated or not -- it's not a part of the OpenACS core, but it's an application being built on top of it. The dotWRK project will just be a configuration of OpenACS with a set of default packages. See the thread on project-management under the project management link, above.
Tally, it's never good not to post a flame, so you did well ... Particularly because I did not intend to say that OACS should change, you've got me somehow wrong. My question was more related to organization then to code. The only question for me to consider is _when_ to port Project/Open to OACS. And yes, Project/Open is build on ACS 3.4.8, and not OACS. Anyway, I thought I had mentioned OACS on the site. Sorry if it's not in there yet, I'll add id the next time.
first of all: congratulations to your marridge. I hope you're going to be very happy together!
> I do wish we had been in touch earlier
Yes, me too. This was exactly my feeling when I first saw the dotWrk pages. And yes, I do think that it would be a good idea if both systems could merge. I intentionally did not introduce any structure to project/subprojects, because of the complexities involved (having worked many years as a PM...). So there is a 100% complement.
> here aren't any screen shots or demos or anything.
I'm frenetically preparing a demo system. I've written an "anonymizer", but SLS still has to say OK to putting their precious corporate data into the wild...
As mentioned above, the only question for me is "when?". I'll need some fresh money to survive the next few months, so it's definitely not going to happen before the end of this year. Let's see.
I'm on MSM I have to admit, due to work reasons. Could you tell me the details of your channels and what client to use?
Actually, telephone isn't that bad. We've got a flat rate here from Spain to Europe after 20:00 and during the weekend. Where are you located (timezone)?
>conflict between open source and proprietary software
Ok, you're developing for an internal customer. I'm "out in the wild" and I'll have to sell my projects. And sure customers want to know their code protected. Somebody wrote about charging higher prices for writing proprietary code.
Yes, certainly a package on top, but probably severals! The point with several "vertical" solutions is that you need to have a "core" module plus several extension modules. I'll have to check it out. I may need need to be two levels of modules. But actually I would prefer to wait for 5.0, until the dotLrn stuff is merged in and the change speed of OACS decreases...
I'll post a link as soon as I've got the online-demo running.
For IRC, you can look at this page: http://openacs.org/irc It's a good place to get to know a lot of the other OpenACS developers.
I look forward to seeing your demo, or even just some screenshots. I have similar concerns about screenshots of our old intranet system, so I understand why you're trying to make it anonymous.
I'm still not completely clear on what Project/Open is, but it does seem like it might be a good fit with dotWRK. Perhaps these will be separate packages that will complement project-manager?
I'm in the west coast of the United States.
I'd be happy to help a little with the porting.
ACS 3.x is old, old, old. You never even hear anyone discuss it anymore. Yes there must still be people using it (former aD clients, etc.), but mostly they all forked their own internal codebase off ACS long ago, and never talk to any other ACS or OpenACS users at all. So you never hear much...
I was going to say it's unfortunate you didn't post some kind of heads up here earlier in the year before doing all that work - but actually I guess you did do that, you just didn't notice the discussion going on about dotWRK both before and after that.
Oh well, I bet you must've learned a lot about making the old ACS 3.x Intranet module meet various needs by now. What I remember from using it at aD was that it had lots of good stuff but was awfully kludgy in places. (I never looked at the code...) Probably much of your experience there would be useful if you ever want to contribute to the dotWRK stuff.
If you have done your work in 3.4.X... I dunno what to tell you. The community is charging ahead on 5.X. Most likely, you're best bet will be to join with Jade and extend his work.
From the perspective of how to get "business doods" more involved, I think that's much of what the governance discussions have been asking, at least in a roundabout way. How do we get anyone involved is probably a better question.
Generally, taking leadership is simply an issue of doing it - no one will stand in the way of someone stepping up to address a shortcoming of the community, as long as that person is respectful of the general process the community works under. And if that person is not, he or she generally finds out quickly enough.
That being said, we've been generally open to new voices offering proposals for improvement and are, in fact, trying to formalize that process. There are plenty of examples where we've screwed up in that regard, and we need to clean up those mistakes so they don't happen again.
I suppose what I'm trying to say is that this is an ideal time for you as a business guy to step up as a leader in the community by simply proving your worth as a colleague.
On another note, I would very much like to let the issue of arsdigita just die. Yes, we've inherited their code. Yes, a lot of the developers and members of the community are here because of the Book. But aD has very little to do with the challengers the community faces ATM.
At LinuxWorld, I really dreaded when someone would say, "Oh, I know the OpenACS - I've been a fan of Philip for years!" I felt compelled to tell them, "Well, you know he's a shill for Microsoft now? And that his insolent childish behavior and poor managerial skills helped destroy that company?"
Now, there are plenty of examples of my insolent, childish behavior scattered throughout these forums and I've got a whole bunch of bank statements that should go in the Managerial Hall of Shame, so I probably shouldn't throw too many stones regarding Philip's success as an entrepreneur.
But I want to stress that aD is, as far as I am considered with regard to the OpenACS, dead, buried and the only time we should discuss them is when trying to figure out who was the lunatic that came up with the abstract, post-modernist idea of relational segments and why did he write a separate version of acs-mail for it?
Anyway, those are my heavily mortgaged two cents.
I should thank you though - I haven't had the chance to throw some good aD flamage in a while! Vinod's gender bending and Don's insatiable hunger for more toilet paper both make for good material, but there's nothing like kicking that dead horse called aD!
AFAIK Philip has never been hostile to OpenACS, just uninterested. And he's still teaching his class at MIT (now called 6.171), apparently along with Andrew Grument and Ben Adida as well. Names you surely recognize.
Philip states that more than 1,000 MIT students have gone through that class over the years. That is a rather large number, right? How many of those MIT programmers have since showed up here on openacs.org? A much, much smaller number? Sounds suspiciously like OpenACS may not be winning much mind-share among a group of students who should be one of its no-brainer core constituencies.
Since Philip's students can use whatever toolkit they want now, most of them must be choosing tools other than OpenACS. Likely us more experienced folks could do them a favor by helping them avoid that error. :)
Maybe we should try to hold some sort of OpenACS boot camp in the Boston area before the semester starts, and invite all the upcoming 6.171 students to it as well? I know other people have expressed interest in OpenACS bootcamps, so it wouldn't just be for the MITers. Some kind of Knoppix CD with everything related to OpenACS alread pre-installed and running could also be a very big win here...
Perhaps you can have a look at project manager, and start thinking about how you're going to upgrade, and what functionality we will want to merge together?
My one concern is how you're going to merge together the very specific functionality for translation with the general needs of a project manager. Perhaps you can break some things into separate packages..
important question. Modularization keeps me awake at night... (no kidding). I just have started a project with Opus 5 (http://www.opus5.info/) to adapt the system for them. And with the Knowledge Management stuff I'm going to have three "vertical solutions", each with quite some different requirements.
First, I need to separate the sector specific functionality into separate modules, because I don't want to clutter my stuff he same way as it has happend for example with the old BBOARD (with this geospacial stuff from www.scorecard.org). Second, I need to define a common "core" (common to all vertical solutions), that needs to be highly configurable to cover the needs of the different vertical solutions. Right?
So I'm already preparing the core to allow for "pluggable modules" that attach to ProjectViewPage, CustomerViewPage and HomePage (for example as one of the grey boxes at the right) plus menu items, libraries, data model and module specific pages. But I'm still thinking about a suitable API. Currently, I have "views" already factored out. That is: The columns in ListPages and the rows in ViewPages are defined in the database.
create table im_views (
view_id integer primary key,
view_name varchar(100) not null unique,
create table im_view_columns (
column_id integer primary key,
view_id not null references im_views,
column_name varchar(100) not null,
-- tcl command being executed using "eval" for rendering the column
-- for when the column name results from an "as" command
-- for ex., you can customize viewing columns
sort_order integer not null,
-- set of permission tokens that allow viewing this column,
-- separated with spaces and OR-joined
This allows to select different views for different user profiles or different views for the same ListPage, used for example in /intranet/projects/view.tcl, which shows either a standard project list of a "status". It allows clients to customize views, without having to fear to loose these changes when upgrade the TCL pages to the next version. It also allows other modules to add "their" columns to a ListPage (for example, the "invoicing" module may add acolumns "$ invoiced" and "$ received" to the ProjectListPage).
Concerning the integration P/O <-> PM:
First of all, Project/Translation would go without project manager. That's easy. They always follow the same workflows. It's actually a pitty to call that "projects". What they really need are configurable workflows, where you can assign freelancers to each of the stages, and upload/download large cuantities of files.
Also, Project/Advertizing would go without project manager, because advertizing project typically don't have such a "rich" internal structure (compared to IT projects). And most advertizing PMs seem to be - to put it in friendly terms - less willing to tightly structure their projects. At least that's my experience. They just have a very different concept of a project than we techies.
Project/Consulting (IT-consulting!) would definitely profit from a more detailed project structure. One option would be to plug the project manager it into the P/O framework, to handle the scheduling and internal structure of a project. Obviously, that idea comes from my side ...
The cruical question is: How to handle duplicated business objects, particularly projects. However, we've got some time to think about this, because I first need to get some business. Otherwise Project/Open is going to die in January. Atleast my participation...
Finally, there is another consideration to the module issue. I have to admit that I'm planning to distribute sector specific modules under a licence different from GPL. I like stuff to be free, but I need to make money to go on. So I don't want that other consulting companies are going to make their money implanting free modules. Instead, I would allow end users (_employees_ of the end user companies) to use the stuff for free, but to charge any external consultants 20% of their fee if they are helping to implant free P/O modules. This may (hopefully!) lead some day to a marketplace of software developers and implantation companies...
Don't crucify me, please!