AW: [opencms-dev] FYI: importing files is easy with this script
Jeroen Habets
Jeroen.Habets at framfab.nl
Mon Jan 15 15:40:40 CET 2001
Hi Simon,
If you've exported your files using OpenCMS the resulting archive already
contains a manifest.xml. You would only need to alter this if you want:
- other user/group/access assigned to the imported files
- other destination(s) for the imported files.
Considering you're exception: Does you're zip archive contain a (valid)
manifest.xml?
Jeroen
B.T.W. I'm using OpenCMS 41.x.x (41.1.46 for now) are you perhaps migrating from
40.xx to 41.x.x ?
Simon Wilks wrote:
> Hi Jerome,
>
> A question: Can I use this to import an exported project from one OpenCms
> system into another? I have tried but keep getting an exception from
> OpenCms: "NO MESSAGE....NullPointerException" at
> com.opencms.file.CmsImport.getXmlConfigFile
>
> Any idea what I am doing wrong???
>
> Thanks
>
> Simon Wilks
> software engineer
> simon.wilks at silion.ch
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> silion (switzerland) ag software engineering
> spinnereistrasse 8 9008 st. gallen
> tel 0878 80 90 60 fax 0878 80 90 30
> info at silion.ch www.silion.ch
>
> a member of the Penta Group www.pentagroup.ch
>
> -----Ursprungliche Nachricht-----
> Von: owner-opencms-dev at www.opencms.com
> [mailto:owner-opencms-dev at www.opencms.com]Im Auftrag von Jeroen Habets
> Gesendet: Montag, 15. Januar 2001 10:40
> An: OpenCMS Developers list
> Betreff: [opencms-dev] FYI: importing files is easy with this script
>
> Hi y'all
> Because I had to import some stuff as well, I created a Perl script that
> generates a manifest.xml file for you!
> go to directory that contains the directory with file tree you want to
> import (in example mydir). Run manigen.pl <mydir> and zip the file tree and
> the output of manigen.pl. The resulting archive can be imported into opencms
> after it has been copied to the export directory of opencms.
>
> cd <wherever>
> manigen.pl <mydir> > manifest.xml
> zip <myarchive.zip> manifest.xml <mydir>
> cp <myarchive.zip> <my_exportdir>
>
> This way you can easily import whole file trees!
> Jeroen
> Perl source of manigen.pl:
> Note: you can assign a user, group and access mask with the variables
> $user,$group, and $access ;-).
> --- begin ---
> #!/usr/bin/perl
> eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
> if $running_under_some_shell;
> require "find.pl";
> print "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
> print "<export>\n";
> print "\t<!-- Creator: manigen.pl $ARGV[0] -->\n";
> print "\t<!-- Createdate: $^T -->\n";
> print "\t<files>\n";
> # Traverse desired filesystems
> &find($ARGV[0]);
> print "\t</files>\n";
> print "</export>\n";
> exit;
> sub wanted {
> $user="Admin";
> $group="Users";
> $access=79;
> if ( $name ne "." ) {
> if (-d $_ ) {
> print "\t\t<file>\n";
> print "\t\t\t<destination>$name</destination>\n";
> print "\t\t\t<type>folder</type>\n";
> print "\t\t\t<user>$user</user>\n";
> print "\t\t\t<group>$group</group>\n";
> print "\t\t\t<access>$access</access>\n";
> print "\t\t\t<properties/>\n";
> print "\t\t</file>\n";
> } elsif (-f $_ ) {
> if (/\.(gif|jpg|png)$/i) {
> $type="image";
> } else {
> $type="plain";
> }
> print "\t\t<file>\n";
> print "\t\t\t<source>$name</source>\n";
> print "\t\t\t<destination>$name</destination>\n";
> print "\t\t\t<type>$type</type>\n";
> print "\t\t\t<user>$user</user>\n";
> print "\t\t\t<group>$group</group>\n";
> print "\t\t\t<access>$access</access>\n";
> print "\t\t\t<properties/>\n";
> print "\t\t</file>\n";
> }
> }
> }
> --- end ---
More information about the opencms-dev
mailing list