Eric Reid wrote:
>
>         Deliver Drupal6.x into OpenSolaris

We've been talking about how there's going to need to be some careful
analysis of the approach on integrating pure webapps like this one.
We're waiting for the first case to come through so the discussions
can be had in a concrete context. Looks like Drupal is the first one
so it gets to do the hard work to pave the way...

I see a number of editorial corrections to the ARC case, but I'll defer 
those for now so we can cover the main issues first.

Peter had a lot of good questions, I'll try not to repeat too many of
the same.

>          Drupal's basic architecture provide a basic 'core' of functionality
>          (including 'core' modules), optionally augmented by additional and
>          freely available modules for additional functionality and presentati
>          The intent here is to integrate only the Drupal 6.x 'core' into SFW.

How and where are users expected to install the modules? By adding
subdirs under 'modules'? Will that be supported? Where/how are they
configured?

>          Drupal core itself consists of less than 4MB of PHP scripts and
>          configuration files, designed to be copied into and reside in the
>          Webserver's top-level document directory. As such, no new "/usr"
>          subdirectory needs necessarily be created for Drupal installation.

Please classify the delivered files into 

a) those which are always read-only (i.e. the core "binaries" of the
   implementation)
b) those which are may be edited by users to customize the system (if any)
c) those which are always written into, such as configuration and log files

This will help understand what's what and where should things go.

BTW does Drupal need/recommend any configuration in apache config files?



>               MySQL 4.1 or 5.0: satisfied by SFW's /usr/mysql

BTW you'll want to depend on /usr/mysql/5.0 not MySQL4 (which is going away).

>          /var/apache2/2.2/htdocs/index.php

The package can't install right onto top level htdocs. This isn't the
only web app content package (well, it is today, but presumably if it
goes in, many others will follow). It'll need to peacefully coexist
with other content. It might possibly install into a dedicated subdir
of htdocs.

Later in the spec there is this scary warning:

>               Note: currently, existing webserver DOCROOT content should be
>               moved before install, otherwise it may be lost or corrupted.

which suggest maybe it can't get along peacefully with other docroot content? 

What's the issue there?


>          Drupal, as explained above, does not require a new directory entry 
>        /usr, but rather 'piggybacks' on an existing Apache HTTP server 
>          'htdocs' directory. As such, the proposed directory layout for 
>          Drupal 6 is:
> 
>        Where <WEBSERVER> is nominally (but not limited to) /var/apache2/2.2:

Can you expand on "(but not limited to)" given the context of the package?


The primary decision to make is the main install location. Viable
options I see are:

a) Somewhere under htdocs (but not at the top level) Main drawback
   here is that OpenSolaris is still also distributed as DVD images
   with all the packages. But not everyone wants drupal in their
   docroot (really, most people don't). If OpenSolaris had already
   transitioned to a IPS-only distribution model this would be a
   non-issue since nobody would install SUNWdrupal6 unless they really
   wanted it. But that world is still some ways away.

b) Somewhere under /usr and you provide a script a user can run to
   hook it up into the final location (and the script can do
   additional groundwork beyond just bits).

c) Nowhere - tell users to get it from drupal.org. This option needs to
   be considered. If options a|b don't make life easier for the user
   (or worse, make it harder by e.g. having very stale content) then
   this might be a viable option. I don't know if it is, but I'll want to 
   see a section in the ARC case analyzing why it's not ;-)
   As Peter said, SUNWdrupal6 needs to provide some value-add over simply
   grabbing the bits from drupal.org. Preconfiguration, seamless integration,
   "works out of the box", etc.. are all potential good reasons.


>     4.6. Installation/Configuration
[...]
>               4) Manually create Drupal database/schema

Manually by running some provided script, or literally "manually" by
telling the user to start typing in SQL? 

>        We also do not feel that enforcement of RDBMS/webserver/PHP 
>        dependencies are appropriate at package install time. The only

Clearly it'll need to depend on apache22 and php5 packages.  The db
dependency is more complex, because either MySQL or Postgres can
fulfill the role, so you don't want to hardcode one or the other
(certainly not both ;-) so no good answer there.


>     4.7. Internationalization
> 
>        While localized versions of Drupal 6 core files are available from
>        the Drupal Community, we do not feel it appropriate to include them,
>        and therefore open the "pandora's box" of which to include.

How about all of them? If not, why not?  (In general for an ARC case,
you'll want to document the reasoning of any given decision.)

>     4.8. Integration With OpenSolaris Infrastructure
> 
>        As Drupal 6 is a very lightweight mechanism, depending upon existing
>        executable mechanisms (Apache, PHP, MySQL/Postgres), there is no need
>        to consider integration with OpenSolaris mechanisms such as SMF.

... and it should be the correct reason or it'll get nitpicked ;-)

The correct reason not to implement SMF is not because drupal is a
"lightweight mechanism". It's because (I'm assuming) one doesn't start
drupal, one starts apache, which is already hooked into smf.

>    4.11. Packaging and Delivery
> 
>          We propose to package Drupal 6 into a single package, named
>        SUNWdrupal6. 

IFF the install location ends up being tied to Apache 2.2 then you'll
want to name the package so it reflects that, as some of the other
apache22-dependent modules have done.

> This naming scheme will allow for future coexistence
>        of multiple versions of Drupal within SFW.

The package name alone doesn't achieve that... if you need to support
versioning of the app, the install location needs some versioning as
well, or the future package will just stomp on this one.

>         4.12.3. Exported Interfaces
> 
>           NAME                            STABILITY       NOTES
> 
>           SUNWdrupal6                     committed       package
>           drupal6  umbrella Man Page      committed       man page

If modules (see earlier) are supported, that's an interface.

Are there config interfaces/files (other than the GUI itself)?



-- 
Jyri J. Virkki - jyri.virkki at sun.com - Sun Microsystems

Reply via email to