Hi Friedrich, *,

2010/10/29 Friedrich Strohmaier <damokles4-lis...@bits-fritz.de>:
> Erich Christian schrieb:
>>Am 28.10.2010 20:03, schrieb Uwe Richter:
> [...]
>
> so sehe ich es auch..
>
>>Die CDs können wir als subsites anlegen, die ihre eigenen assets und
>>themes haben stell ich mir vor.
>
> Eigene assets finde ich nicht so prickeln, weil diese ja zum Teil
> gemeinsam sind.

Ja, sehe ich genauso, wäre viel doppelt.

> Viel eher müsste es der Export leisten, nur die
> mitzunehmen, die für das jeweilige ISO gebraucht werden.

Jein - ich sehe das nicht so, daß das der /export/ leisten muß - dafür
habe ich ja das kleine perl-Skript auf pumbaa geschrieben. (das geht
die html-Dateien nach Verweise auf die assets durch und erstellt eine
Datei für rsync, dann rsync drüberlaufenlassen (das das Kopieren der
Dateien übernimmt) und fertig.


>> Momentan exportieren wir nur html, das können wir ändern und
>> zusätzlich dem Exporter beibringen, die zukünftigen subsites inkl.
>> theme und assets ins richtige Verzeichnis zu befördern.

Subsites sind sowieso schon extra (den exporter über den
entsprechenden subsite-URL antriggern)

Von mir aus auch so, daß er in ein bestimmtes Verzeichnis auf dem
Server exportiert, aber das Kopieren der assets/themes würde ich gerne
als extra-Schritt belassen.

> Ich habe mal versuchsweise die Homepage http://devel.prooo-box.org/
> mit httrack exportieren lassen. Hat 4 1/4 Stunden gedauert. :o\

Oha - nee, so lange dauert das mit silverstripe nicht :-)

> [...]
>>@ Christian: bitte korrigier mich wenn ich das mistverstanden hab...
>
>> Fürs erste reicht ja die DVD und den Prototyp können wir auch manuell
>> so zusammenbauen wie ich das lokal gemacht hab.
>
> Ist sicher die schnellste Variante..

Jup - und ihmo auch die eleganteste. Natürlich kann man das
* export aus silverstripe (i.e. herunterladen des html.tar.gz)
* entpacken des html.tar.gz in einem beliebigen Verzeichnis
* Link-Extrahierskript drüberlaufen lassen
* rsync ausführen um die assets und das theme zu kopieren

in ein einzelnes Skript packen, aber wiegesagt hätte ich die einzelnen
Sachen lieber getrennt voneinander.

ciao
Christian

PS: Der Vollständigkeit halber der Link-Sammler:

#!/usr/bin/perl
use HTML::SimpleLinkExtor;
use File::Find qw(find);

my $dir     = shift;
my $rsynclist = shift;

die "no dir given" unless ($dir);
die "no filename for rsync given" unless ($rsynclist);

# dir is the html-directory as provided in the tarball from
StaticExporter with basedir relative
# rsynclist is file that will contain all the used files
my $pattern = 'html$';

my %assets;
my %themes;

my $extor = HTML::SimpleLinkExtor->new();
sub collect_links {
        return unless /$pattern/;
        $extor->parse_file($_);
        foreach $link ($extor->links) {
                $link =~ s/^\/?(..\/)*//;
                $assets{$link}=1 if ($link =~ /^assets/);
                $themes{$link}=1 if ($link =~ s/^themes\/([^\/]+)\/.*/$1/);
        }
        $extor->clear_links; # reset the link list
}

find (\&collect_links, $dir);
print "Referenced files from assets:\n";
open INCLUDE, ">$rsynclist";
foreach $key (keys %assets) {
        print "\t $key\n";
        print INCLUDE "$key\n";
}
print "Used theme(s):\n";
foreach $key (keys %themes) {
        print "\t $key\n";
        print INCLUDE "themes/$key/css\n";
        print INCLUDE "themes/$key/images\n";
}
close INCLUDE;

print STDERR "WARNING - MORE THAN ONE THEME!!\n" if ((keys %themes) >1);

print "now run the following command:\n";
print 'rsync -arv --dry-run --files-from='.$rsynclist.' -e "ssh -p
7777" prooo...@pumbaa.ooodev.org:/var/www  '.$dir."\n";
print "If everything looks OK, remove the --dry-run and run again to
actually copy the files\n";

--
E-Mail to discuss+h...@de.libreoffice.org for instructions on how to unsubscribe
List archives are available at http://de.libreoffice.org/lists/discuss/
All messages you send to this list will be publicly archived and cannot be 
deleted

Antwort per Email an