Source language: Translate to:

Will Neobook 6 use XML format for the Pub ?

Post your suggestions for future versions of NeoBook

Moderator: Neosoft Support

Will Neobook 6 use XML format for the Pub ?

Postby Luiz Alfredo » Sun Jul 28, 2013 11:14 am

Will Neobook 6 use XML format for the Pub ?

Don't you think it will be good for many purposes ?
L.A.G.M.
Luiz Alfredo
 
Posts: 195
Joined: Thu Apr 19, 2007 6:58 am
Location: Brazil

Re: Will Neobook 6 use XML format for the Pub ?

Postby HPW » Sun Jul 28, 2013 1:58 pm

Hello,

For what purposes should it be good?

The size will grow.
Is it more readable for humans?
So where is the benefit?

Regards,
Hans-Peter
User avatar
HPW
 
Posts: 2510
Joined: Fri Apr 01, 2005 11:24 pm
Location: Germany

Re: Will Neobook 6 use XML format for the Pub ?

Postby Luiz Alfredo » Mon Jul 29, 2013 6:53 am

Some considerations:

- I think the size will not grow too much.
- The code will be better organized.
- Many tools are available for XML format.
- Human-readable and machine-readable (Specially for large Pubs).
- Free Open Standard.
- Great support to Unicode.
- More possibilities of Neobook5 (NeoRAD5) Support Applications as XML is widely used.
- XML-based formats have become the default for many tools.
- Once converted the new Pubs could be Edited/Processed by many tools, and even Produced/Generated for Validation/Compilation by Neobook.
- And much more, as I remembered only this topics.

Our interest is that we can have Neobook's Concept and Quality for the creation of one of the best tools for Applications Creation. Excuse me Dave if I'm wrong. Just an idea.
L.A.G.M.
Luiz Alfredo
 
Posts: 195
Joined: Thu Apr 19, 2007 6:58 am
Location: Brazil

Re: Will Neobook 6 use XML format for the Pub ?

Postby dpayer » Mon Jul 29, 2013 9:50 am

HPW wrote:Hello,

For what purposes should it be good?

The size will grow.
Is it more readable for humans?
So where is the benefit?

Regards,



The size 'may' grow by 5-10% (to accommodate the element names and brackets).

It will be 100% more readable by humans and therefore modifiable without using the IDE to make bulk changes to code (so you could customize a text object used as a label and copy that section into the xml easier for bulk compilations).

Pre-parsing of the object/page/code info into XML would open an easier pathway for converting a pub to an HTML5 document or other format of documents (future possibility of NB development - some genius will have to work on a NB script to JScript converter for that one to happen!).

It would give a reason in Neobook V.6 to switching the .pub extension to a new name like .pubXML so NB no longer associates with .pub and confuses things when you have Microsoft Publisher on your system (I'm sure legacy .pub files could be imported).

The big issue is if it helps the developer of the Neobook application itself to organize the data used by the IDE. Using XML is making all content of a pub fit into a structured database (XML). I can think of many advantages to doing that from my view. I am sure there are many considerations in making a document format change though.

David P.
David Payer
Des Moines, Iowa
USA
User avatar
dpayer
 
Posts: 1380
Joined: Mon Apr 11, 2005 5:55 am
Location: Iowa - USA

Re: Will Neobook 6 use XML format for the Pub ?

Postby Neosoft Support » Mon Jul 29, 2013 12:22 pm

Actually, v6 will use XML for storage of pub contents. The file extension will be different too - although the specific extension hasn't been decided yet. An import feature for the current .pub format will be available.
NeoSoft Support
Neosoft Support
NeoSoft Team
 
Posts: 5593
Joined: Thu Mar 31, 2005 10:48 pm
Location: Oregon, USA

Re: Will Neobook 6 use XML format for the Pub ?

Postby bunker » Thu Aug 01, 2013 3:16 pm

just asking have you considered Json?

Json
Syntax: [ Download ] [ Hide ]
Using Javascript Syntax Highlighting
{"web-app": {
  "servlet": [  
    {
      "servlet-name": "cofaxCDS",
      "servlet-class": "org.cofax.cds.CDSServlet",
      "init-param": {
        "configGlossary:installationAt": "Philadelphia, PA",
        "configGlossary:adminEmail": "ksm@pobox.com",
        "configGlossary:poweredBy": "Cofax",
        "configGlossary:poweredByIcon": "/images/cofax.gif",
        "configGlossary:staticPath": "/content/static",
        "templateProcessorClass": "org.cofax.WysiwygTemplate",
        "templateLoaderClass": "org.cofax.FilesTemplateLoader",
        "templatePath": "templates",
        "templateOverridePath": "",
        "defaultListTemplate": "listTemplate.htm",
        "defaultFileTemplate": "articleTemplate.htm",
        "useJSP": false,
        "jspListTemplate": "listTemplate.jsp",
        "jspFileTemplate": "articleTemplate.jsp",
        "cachePackageTagsTrack": 200,
        "cachePackageTagsStore": 200,
        "cachePackageTagsRefresh": 60,
        "cacheTemplatesTrack": 100,
        "cacheTemplatesStore": 50,
        "cacheTemplatesRefresh": 15,
        "cachePagesTrack": 200,
        "cachePagesStore": 100,
        "cachePagesRefresh": 10,
        "cachePagesDirtyRead": 10,
        "searchEngineListTemplate": "forSearchEnginesList.htm",
        "searchEngineFileTemplate": "forSearchEngines.htm",
        "searchEngineRobotsDb": "WEB-INF/robots.db",
        "useDataStore": true,
        "dataStoreClass": "org.cofax.SqlDataStore",
        "redirectionClass": "org.cofax.SqlRedirection",
        "dataStoreName": "cofax",
        "dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriver",
        "dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon",
        "dataStoreUser": "sa",
        "dataStorePassword": "dataStoreTestQuery",
        "dataStoreTestQuery": "SET NOCOUNT ON;select test='test';",
        "dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log",
        "dataStoreInitConns": 10,
        "dataStoreMaxConns": 100,
        "dataStoreConnUsageLimit": 100,
        "dataStoreLogLevel": "debug",
        "maxUrlLength": 500}},
    {
      "servlet-name": "cofaxEmail",
      "servlet-class": "org.cofax.cds.EmailServlet",
      "init-param": {
      "mailHost": "mail1",
      "mailHostOverride": "mail2"}},
    {
      "servlet-name": "cofaxAdmin",
      "servlet-class": "org.cofax.cds.AdminServlet"},
 
    {
      "servlet-name": "fileServlet",
      "servlet-class": "org.cofax.cds.FileServlet"},
    {
      "servlet-name": "cofaxTools",
      "servlet-class": "org.cofax.cms.CofaxToolsServlet",
      "init-param": {
        "templatePath": "toolstemplates/",
        "log": 1,
        "logLocation": "/usr/local/tomcat/logs/CofaxTools.log",
        "logMaxSize": "",
        "dataLog": 1,
        "dataLogLocation": "/usr/local/tomcat/logs/dataLog.log",
        "dataLogMaxSize": "",
        "removePageCache": "/content/admin/remove?cache=pages&id=",
        "removeTemplateCache": "/content/admin/remove?cache=templates&id=",
        "fileTransferFolder": "/usr/local/tomcat/webapps/content/fileTransferFolder",
        "lookInContext": 1,
        "adminGroupID": 4,
        "betaServer": true}}],
  "servlet-mapping": {
    "cofaxCDS": "/",
    "cofaxEmail": "/cofaxutil/aemail/*",
    "cofaxAdmin": "/admin/*",
    "fileServlet": "/static/*",
    "cofaxTools": "/tools/*"},
 
  "taglib": {
    "taglib-uri": "cofax.tld",
    "taglib-location": "/WEB-INF/tlds/cofax.tld"}}}
Parsed in 0.024 seconds, using GeSHi 1.0.8.10


Now see the XML:
Syntax: [ Download ] [ Hide ]
Using XML Syntax Highlighting
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
   "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
    <servlet>
        <servlet-name>
            cofaxCDS
        </servlet-name>
        <servlet-class>
            org.cofax.cds.CDSServlet
        </servlet-class>

         <init-param>
          <param-name>configGlossary:installationAt</param-name>
      <param-value>Philadelphia, PA</param-value>
        </init-param>
        <init-param>
          <param-name>configGlossary:adminEmail</param-name>
      <param-value>ksm@pobox.com</param-value>
        </init-param>
        <init-param>
          <param-name>configGlossary:poweredBy</param-name>
      <param-value>Cofax</param-value>
        </init-param>
        <init-param>
          <param-name>configGlossary:poweredByIcon</param-name>
      <param-value>/images/cofax.gif</param-value>
        </init-param>
        <init-param>
          <param-name>configGlossary:staticPath</param-name>
      <param-value>/content/static</param-value>
        </init-param>

     <init-param>
          <param-name>templateProcessorClass</param-name>
      <param-value>org.cofax.WysiwygTemplate</param-value>
        </init-param>

    <init-param>
          <param-name>templateLoaderClass</param-name>
      <param-value>org.cofax.FilesTemplateLoader</param-value>
        </init-param>

         <init-param>
          <param-name>templatePath</param-name>
      <param-value>templates</param-value>
        </init-param>

        <init-param>
          <param-name>templateOverridePath</param-name>
      <param-value></param-value>
        </init-param>

     <init-param>
          <param-name>defaultListTemplate</param-name>
      <param-value>listTemplate.htm</param-value>
        </init-param>

       <init-param>
          <param-name>defaultFileTemplate</param-name>
      <param-value>articleTemplate.htm</param-value>
        </init-param>

       <init-param>
          <param-name>useJSP</param-name>
      <param-value>false</param-value>
        </init-param>

    <init-param>
          <param-name>jspListTemplate</param-name>
      <param-value>listTemplate.jsp</param-value>
        </init-param>

       <init-param>
          <param-name>jspFileTemplate</param-name>
      <param-value>articleTemplate.jsp</param-value>
        </init-param>

     <init-param>
          <param-name>cachePackageTagsTrack</param-name>
      <param-value>200</param-value>
        </init-param>

    <init-param>
          <param-name>cachePackageTagsStore</param-name>
      <param-value>200</param-value>
        </init-param>

    <init-param>
          <param-name>cachePackageTagsRefresh</param-name>
      <param-value>60</param-value>
        </init-param>

     <init-param>
          <param-name>cacheTemplatesTrack</param-name>
      <param-value>100</param-value>
        </init-param>

    <init-param>
          <param-name>cacheTemplatesStore</param-name>
      <param-value>50</param-value>
        </init-param>

    <init-param>
          <param-name>cacheTemplatesRefresh</param-name>
      <param-value>15</param-value>
        </init-param>

    <init-param>
          <param-name>cachePagesTrack</param-name>
      <param-value>200</param-value>
        </init-param>

    <init-param>
          <param-name>cachePagesStore</param-name>
      <param-value>100</param-value>
        </init-param>

    <init-param>
          <param-name>cachePagesRefresh</param-name>
      <param-value>10</param-value>
        </init-param>

    <init-param>
          <param-name>cachePagesDirtyRead</param-name>
      <param-value>10</param-value>
        </init-param>

     <init-param>
          <param-name>searchEngineListTemplate</param-name>
      <param-value>forSearchEnginesList.htm</param-value>
        </init-param>

       <init-param>
          <param-name>searchEngineFileTemplate</param-name>
      <param-value>forSearchEngines.htm</param-value>
        </init-param>

       <init-param>
          <param-name>searchEngineRobotsDb</param-name>
      <param-value>WEB-INF/robots.db</param-value>
        </init-param>

    <init-param>
          <param-name>useDataStore</param-name>
      <param-value>true</param-value>
        </init-param>

     <init-param>
          <param-name>dataStoreClass</param-name>
      <param-value>org.cofax.SqlDataStore</param-value>
        </init-param>

        <init-param>
          <param-name>redirectionClass</param-name>
      <param-value>org.cofax.SqlRedirection</param-value>
        </init-param>
        <init-param>
          <param-name>dataStoreName</param-name>
      <param-value>cofax</param-value>
        </init-param>

        <init-param>
          <param-name>dataStoreDriver</param-name>
      <param-value>com.microsoft.jdbc.sqlserver.SQLServerDriver</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreUrl</param-name>
      <param-value>jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon</param-value>
        </init-param>

        <init-param>
          <param-name>dataStoreUser</param-name>
      <param-value>sa</param-value>
        </init-param>

         <init-param>
          <param-name>dataStorePassword</param-name>
      <param-value></param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreTestQuery</param-name>
      <param-value>SET NOCOUNT ON;select test='test';</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreLogFile</param-name>
      <param-value>/usr/local/tomcat/logs/datastore.log</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreInitConns</param-name>
      <param-value>10</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreMaxConns</param-name>
      <param-value>100</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreConnUsageLimit</param-name>
      <param-value>100</param-value>
        </init-param>
 <init-param>
          <param-name>dataStoreLogLevel</param-name>
      <param-value>debug</param-value>
        </init-param>

     <init-param>
          <param-name>maxUrlLength</param-name>
      <param-value>500</param-value>
        </init-param>

    </servlet>

     <servlet>
        <servlet-name>
            cofaxEmail
        </servlet-name>
        <servlet-class>
            org.cofax.cds.EmailServlet
        </servlet-class>

         <init-param>
          <param-name>mailHost</param-name>
      <param-value>mail1</param-value>
        </init-param>

        <init-param>
          <param-name>mailHostOverride</param-name>
      <param-value>mail2</param-value>
        </init-param>
    </servlet>

    <servlet>
        <servlet-name>
            cofaxAdmin
        </servlet-name>
        <servlet-class>
            org.cofax.cds.AdminServlet
        </servlet-class>
    </servlet>

    <servlet>
         <servlet-name>
             fileServlet
         </servlet-name>
         <servlet-class>
             org.cofax.cds.FileServlet
         </servlet-class>
    </servlet>

   <servlet>
        <servlet-name>
            cofaxTools
        </servlet-name>
        <servlet-class>
            org.cofax.cms.CofaxToolsServlet
        </servlet-class>

         <init-param>
          <param-name>templatePath</param-name>
          <param-value>toolstemplates/</param-value>
        </init-param>

         <init-param>
          <param-name>log</param-name>
          <param-value>1</param-value>
        </init-param>

         <init-param>
          <param-name>logLocation</param-name>
          <param-value>/usr/local/tomcat/logs/CofaxTools.log</param-value>
        </init-param>

         <init-param>
          <param-name>logMaxSize</param-name>
          <param-value></param-value>
        </init-param>

         <init-param>
          <param-name>dataLog</param-name>
          <param-value>1</param-value>
        </init-param>

         <init-param>
          <param-name>dataLogLocation</param-name>
          <param-value>/usr/local/tomcat/logs/dataLog.log</param-value>
        </init-param>

         <init-param>
          <param-name>dataLogMaxSize</param-name>
          <param-value></param-value>
        </init-param>

         <init-param>
          <param-name>removePageCache</param-name>
          <param-value>/content/admin/remove?cache=pages&id=</param-value>
       </init-param>

        <init-param>
         <param-name>removeTemplateCache</param-name>
         <param-value>/content/admin/remove?cache=templates&id=</param-value>
       </init-param>

        <init-param>
         <param-name>fileTransferFolder</param-name>
         <param-value>/usr/local/tomcat/webapps/content/fileTransferFolder</param-value>
       </init-param>

        <init-param>
         <param-name>lookInContext</param-name>
         <param-value>1</param-value>
       </init-param>

       <init-param>
         <param-name>adminGroupID</param-name>
         <param-value>4</param-value>
       </init-param>

       <init-param>
         <param-name>betaServer</param-name>
         <param-value>true</param-value>
       </init-param>

   </servlet>

   <servlet-mapping>
   <servlet-name>
   cofaxCDS
   </servlet-name>
   <url-pattern>
   /
   </url-pattern>
   </servlet-mapping>

   <servlet-mapping>
   <servlet-name>
   cofaxEmail
   </servlet-name>
   <url-pattern>
   /cofaxutil/aemail/*
   </url-pattern>
   </servlet-mapping>

   <servlet-mapping>
       <servlet-name>
       cofaxAdmin
       </servlet-name>
       <url-pattern>
       /admin/*
       </url-pattern>
   </servlet-mapping>

   <servlet-mapping>
        <servlet-name>
        fileServlet
        </servlet-name>
        <url-pattern>
        /static/*
        </url-pattern>
    </servlet-mapping>

 <servlet-mapping>
       <servlet-name>
       cofaxTools
       </servlet-name>
       <url-pattern>
       /tools/*
       </url-pattern>
   </servlet-mapping>

  <taglib>
     <taglib-uri>cofax.tld</taglib-uri>
     <taglib-location>/WEB-INF/tlds/cofax.tld</taglib-location>
  </taglib>

</web-app>
Parsed in 0.042 seconds, using GeSHi 1.0.8.10
User avatar
bunker
 
Posts: 141
Joined: Sat Sep 29, 2007 4:00 pm

Re: Will Neobook 6 use XML format for the Pub ?

Postby Neosoft Support » Fri Aug 02, 2013 10:23 am

I hadn't considered JSON thinking it was primarily a web/Java format, but it could work too. Each format has its strengths and weaknesses.
NeoSoft Support
Neosoft Support
NeoSoft Team
 
Posts: 5593
Joined: Thu Mar 31, 2005 10:48 pm
Location: Oregon, USA

Re: Will Neobook 6 use XML format for the Pub ?

Postby Gaev » Fri Aug 02, 2013 10:55 am

Here is my 2 cents worth ...

1) xml is more powerful than json ... but I think a pub can be defined with json quite easily

2) working with json is easier

3) facilities (tools) to work with json are more readily available ... vanilla javascript is all you need (so theoretically, you could build a NeoBook Publication using another NeoBook Publication with Javascript functions !!!)

4) from what I have seen, json is more popular with api's and NoSQL type of database access ... most cloud services I have explored use json primarily (or exclusively).

... so overall i think that providing a facility to store a pub's definition in json would provide a lot of benefits.
User avatar
Gaev
 
Posts: 3718
Joined: Fri Apr 01, 2005 7:48 am
Location: Toronto, Canada

Re: Will Neobook 6 use XML format for the Pub ?

Postby Luiz Alfredo » Fri Aug 02, 2013 4:53 pm

I do prefer XML. Very much documentation and tools.
L.A.G.M.
Luiz Alfredo
 
Posts: 195
Joined: Thu Apr 19, 2007 6:58 am
Location: Brazil


Return to NeoBook Suggestions

Who is online

Users browsing this forum: No registered users and 1 guest