Re: [Boardmod-devel] New mod format?
Brought to you by:
michaelprager,
t-master
From: [CV]XXL <X_...@gm...> - 2002-09-30 11:57:57
|
Using XML internally is ok and I like the alternative structure more because it looks more similar to the old format. BUT using XML for the general .mod files has several disadvantages in our case: Most people write mods in a SIMPLE TEXT EDITOR. They don't use the supplied software because writing mods "by hand" goes a lot faster and people know what they're doing. Changing the structure to xml makes it impossible and requires special software to write mods. And I think that it's a good thing to be able to actually read the mod instructions by hand (as it is performed in many cases because of mod incompatibility). Of course you can read XML too, but it's a lot more complicated and most people won't get it. A good example of making thing even more compilcated with XML are the <target> and <subject> tags. What happens when the content contains stuff like "...</target>...". It would break the syntax. To prevent this we would need to use the CDATA format for the content but then, we'd have to parse the whole content of the <target> and <subject> tags. When there is HTML in this content the result is that is absolutly impossible for a non-experianced user to fill out this tags by hand when writing the mod. And from another point of view, it makes it even harder to read the file format with a text editor The only advantage of using XML have the programmers of boardmod because the can read out the file format more easily then. -- Also using a compiler for mod files is somewhat long winded because you can't do any changes to the mod afterwards. -- And why would a user need to register his installed mods on boardmod.org? -- Next you suggest gzip for compression. That's easier for the developers to implement but it's more complicated for the mod writers (at least without a compiler). people are familiar with .zip and they can handle the format (e.g. pack it themselfs, extract stuff they need etc). Of course winzip also supports gzip but most people don't know that!!! <http://dict.tu-chemnitz.de/dings.cgi?o=3003&service=en-de&query=winded> -- Now the last problem is what todo with multiple authors? Your <mod-database> structure can only handle one. Floris Barthel schrieb: >XML used for everything > >Aspects >+ BoardMod.org >- Keep a user database >- Keep a MOD database >+ BoardMod Program >- Install (valid) MODs >+ BoardModC Program >- Compile a MOD >- Validate MOD syntax >- Package a MOD > >What happends when... >+ A user attempts to install a MOD using BoardMod >First, the MD5sum of the file is taken and compared to the one in the MOD >database at boardmod.org. Then, the MOD is unpacked, the mod information is >shown and the user is asked to confirm whether he wants to install. Next, >all images and source files are placed in the right places and finally all >edits are executed. At last, if installation was successful, the >installation is registed at boardmod.org. >+ A user registers a new MOD at boardmod.org >First, the mod is checked for neccesary headers. Then, the MD5sum is >calculated and compared to other mods. Some important headers are also put >into the database. Then, the MOD is placed to be validated by a boardmod >official. >+ A user compiles a MOD using BoardModC >First, the syntax is checked using some XML schemas. Then, a file is created >with the MOD’s ID as the filename plus the .mod extension. Then, some MOD >identification headers are inserted and the informative MOD fields are >placed near the top of the file. Next, all included files are opened and >gzipped and appended to the MOD. Finally, the searches and edits are gzipped >and yet again appended to the file. > >A MOD: > ><mod id="Example" version="1.0" author="John Doe" >homepage="http://www.example.com"> > <mod-info> > This is an example > </mod-info> > <include file="images/example.gif" as="YaBBImages/example.gif" >type="binary" /> > <include file="example2.pl" as="Sources/Example2.pl" type="ascii" >chmod="755" /> > <edit file="Sources/Example.pl"> > <search action="replace"> > <target> > name > </target> > <subject> > John Doe > </subject> > </search> > </edit> ></mod> > >Alternative structure: > ><mod> > <id>Example</id> > <version>1.0</version> > <author>John Doe</author> > <homepage>http://www.example.com</homepage> > <mod-info> > This is an example > </mod-info> > <include> > <file>images/example.gif</file> > <as>YaBBImages/example.gif</as> > <type>binary</type> > </include> > <include> > <file>example2.pl</file> > <as>Sources/Example2.pl</as> > <type>ascii</type> > <chmod>755</chmod> > </include> > <edit> > <file>Example.pl</file> > <search> > <action>replace</action> > <target> > name > </target> > <subject> > John Doe > </subject> > </search> > </edit> ></mod> > >BoardMod Mod Database > ><mod-database> > <mod id="example" version="1.0" author="jdoe" >md5sum="h4hd74hdg95hsbdnfhgdt4hsjdh5ncgdhgfj75s" /> ></mod-database> > >BoardMod User Database > ><user-database> > <user name="jdoe" display="John Doe" homepage="http://www.example.com" >permissions="666" ip="127.0.0.1" /> ></user-database> > >BoardMod Permission Database > ><permission-database> > <permission id="1" action="addMod" /> > <permission id="2" action="deleteMod" /> > <permission id="4" action="editMod" /> > <permission id="8" action="reviewMod" /> > <permission id="16" action="viewMod" /> > <permission id="32" action="banUser" /> ></permission-database> > >Floris Barthel >Mep...@em... >http://www.Emulation-Inc.com > > > >------------------------------------------------------- >This sf.net email is sponsored by:ThinkGeek >Welcome to geek heaven. >http://thinkgeek.com/sf >_______________________________________________ >Boardmod-devel mailing list >Boa...@li... >https://lists.sourceforge.net/lists/listinfo/boardmod-devel > > > > |