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