<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Convertigo</title>
	<atom:link href="https://www.convertigo.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.convertigo.com</link>
	<description>Mobile Application Platform</description>
	<lastBuildDate>Sat, 13 Oct 2018 11:56:19 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0.1</generator>
	<item>
		<title>Using relational data in FullSync apps</title>
		<link>https://www.convertigo.com/using-relational-data-in-fullsync-apps/</link>
		<comments>https://www.convertigo.com/using-relational-data-in-fullsync-apps/#comments</comments>
		<pubDate>Mon, 01 Oct 2018 14:19:54 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">https://www.convertigo.com/?p=243817</guid>
		<description><![CDATA[Relational Data in FullSync apps In this article we will see how FullSync can handle relational data and how to build relational databases using FullSync NoSQL technology Why relational data ? In Many apps, you may want to create relation between documents in your FullSync databases. For example, let&#8217;s consider a Flight planning application. We [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1>Relational Data in FullSync apps</h1>
<blockquote>In this article we will see how FullSync can handle relational data and how to build relational databases using FullSync NoSQL technology</blockquote>
<h2>Why relational data ?</h2>
<p>In Many apps, you may want to create relation between documents in your FullSync databases. For example, let&#8217;s consider a Flight planning application. We would have &#8216;flight&#8217; documents with &#8216;from&#8217; and &#8216;to&#8217; airports using a &#8216;plane&#8217; model. This could be described as this jSON document:</p>
<pre>
<code>
{
	_id: "6ccbe0fe-63b3-4063-b73b-16e2cae112c4",
	flight: {
   		"from": "LFPN",
   		"to": "LFOZ",
   		"plane": "F-GXCF",
   		"comment": "test flight",
   		"type": "flight",
   		"date": "10/11/2017",
   		"time": "10:00"
	}
}
</code>
</pre>
<p>
As you see, this document refers to a &#8216;LFPN&#8217; &#8216;from&#8217; airport and to a &#8216;LFOZ&#8217; &#8216;to&#8217; airport, using a &#8216;F-GXCF&#8217; plane. All these are IDs to other documents that can be described this way </p>
<pre>
<code>
{  
	_id: "LFPN",
	airport: {
   		"type": [
       		"airport",
       		"medium_airport"
   		],
   		"airport_id": "4188",
   		"iaco": "LFPN",
   		"name": "Toussus-le-Noble Airport",
   		"latitude": "48.75189971923828",
   		"longitude": "2.1061899662017822",
   		"altitude": "538",
   		"zone": "EU",
   		"country": "FR",
   		"iso_region": "FR-J",
   		"city": "Toussus-le-Noble",
   		"scheduled_service": "no",
   		"gps_code": "LFPN",
   		"iata_faa": "TNF",
   		"local_code": "",
   		"Colonne2": "",
   		"Colonne3": "",
   		"Colonne1": "",
   		"id": "LFPN"
	}
}  
</code>
</pre>
<p>And for a plane document :</p>
<pre>
<code>
{  
	_id: "F-GXCF",
	plane: {
   		"type": "plane",
   		"ID": "3",
   		"TAG": "F-GXCF",
   		"TYPE": "AT-01",
   		"SPEED": "110",
   		"SEATS": "2",
   		"pid": "F-GXCF"
	}
}
</code>
</pre>
<p>The goal is to get in one query a flight with all the related data attached</p>
<h2>Relational data with linked documents</h2>
<p>This feature is known as &#8216;Linked documents&#8217; in CouchDB. Convertigo FullSync supports linked documents on the server side and of course on the client side for all SDKs including the JS based SDKs used by Mobile Builder. More information on linked documents can be found on the official documentation for CouchDB : <a  href="http://docs.couchdb.org/en/stable/ddocs/views/joins.html" target="_blank">http://docs.couchdb.org/en/stable/ddocs/views/joins.html</a></p>
<p>Creating linked documents views is easy (when of course you know how &#8230;) CouchDB documentation says that emitting an object</p>
<pre><code>{_id:&lt;some other document id&gt;}</code></pre>
<p>on an index wil have CouchDB return the linked document if the query is done with &#8216;include_docs&#8217; set to &#8216;true&#8217;. To illustrate this, here is how we can write a map function using this feature:</p>
<pre><code>
function (doc) {
	try {
		if (doc.flight) {
			emit(doc._id, doc.flight);
			emit(doc._id, {_id: doc.flight.from});
			emit(doc._id, {_id: doc.flight.to});
			emit(doc._id, {_id: doc.flight.plane});
		}
	} catch (err) {
		log(err.message);
	}
}
</code></pre>
<p>As we see here, we emit on the same index, the flight itself plus the 3 linked documents for the &#8216;from&#8217; , &#8216;to&#8217; airports and the &#8216;plane&#8217;</p>
<h2>Query a Linked document view</h2>
<p>We will query the view exactly as usual by specifying the &#8216;ddoc&#8217; (Design document) and the &#8216;view&#8217;, but we will also set the &#8216;include_docs&#8217; parameter to &#8216;true&#8217;. If you use Mobile Builder, be sure to set the &#8220;include_ docs&#8221; property to true in the QueryView Action.</p>
<a href="https://www.convertigo.com/wp-content/uploads/2018/10/IncludeDocs1.png" rel="lightbox-0"><img src="https://www.convertigo.com/wp-content/uploads/2018/10/IncludeDocs1.png" alt="IncludeDocs" class="aligncenter size-full wp-image-243835" /></a>
<h2>Use results in your app</h2>
<p>The Query result will be in this format:</p>
<pre><code>
{
    "total_rows": 4,
    "offset": 0,
    "rows": [
        {
            "key": "35f20ed0-a2c7-4943-b108-7803e94b9fc8",
            "id": "35f20ed0-a2c7-4943-b108-7803e94b9fc8",
            "value": {
                "_id": "F-GFZA"
            },
            "doc": {
                "plane": {
                    "type": "plane",
                    "ID": "4",
                    "TAG": "F-GFZA",
                    "TYPE": "PA-28-181",
                    "SPEED": "120",
                    "SEATS": "4",
                    "pid": "F-GFZA"
                },
                "_id": "F-GFZA",
                "_rev": "1-244618913889b27284f5e93c3080323e"
            }
        },
        {
            "key": "35f20ed0-a2c7-4943-b108-7803e94b9fc8",
            "id": "35f20ed0-a2c7-4943-b108-7803e94b9fc8",
            "value": {
                "_id": "LFAI"
            },
            "doc": {
                "airport": {
                    "type": [
                        "airport",
                        "small_airport"
                    ],
                    "airport_id": "4052",
                    "iaco": "LFAI",
                    "name": "Nangis-Les Loges Airport",
                    "latitude": "48.59619903564453",
                    "longitude": "3.0067899227142334",
                    "altitude": "428",
                    "zone": "EU",
                    "country": "FR",
                    "iso_region": "FR-J",
                    "city": "Nangis/Les Loges",
                    "scheduled_service": "no",
                    "gps_code": "LFAI",
                    "iata_faa": "",
                    "local_code": "",
                    "Colonne2": "",
                    "Colonne3": "",
                    "Colonne1": "",
                    "id": "LFAI"
                },
                "_id": "LFAI",
                "_rev": "1-cfdd54a3b80495dc22b5a6fcde71a62e"
            }
        },
        {
            "key": "35f20ed0-a2c7-4943-b108-7803e94b9fc8",
            "id": "35f20ed0-a2c7-4943-b108-7803e94b9fc8",
            "value": {
                "_id": "LFPN"
            },
            "doc": {
                "airport": {
                    "type": [
                        "airport",
                        "medium_airport"
                    ],
                    "airport_id": "4188",
                    "iaco": "LFPN",
                    "name": "Toussus-le-Noble Airport",
                    "latitude": "48.75189971923828",
                    "longitude": "2.1061899662017822",
                    "altitude": "538",
                    "zone": "EU",
                    "country": "FR",
                    "iso_region": "FR-J",
                    "city": "Toussus-le-Noble",
                    "scheduled_service": "no",
                    "gps_code": "LFPN",
                    "iata_faa": "TNF",
                    "local_code": "",
                    "Colonne2": "",
                    "Colonne3": "",
                    "Colonne1": "",
                    "id": "LFPN"
                },
                "_id": "LFPN",
                "_rev": "1-b77d4e3f144e235f1c296cefd56a79c4"
            }
        },
        {
            "key": "35f20ed0-a2c7-4943-b108-7803e94b9fc8",
            "id": "35f20ed0-a2c7-4943-b108-7803e94b9fc8",
            "value": {
                "from": "LFPN",
                "to": "LFAI",
                "plane": "F-GFZA",
                "occupiedSeats": 2,
                "date": "11/10/2018",
                "time": "10:00",
                "comment": "TEST"
            },
            "doc": {
                "flight": {
                    "from": "LFPN",
                    "to": "LFAI",
                    "plane": "F-GFZA",
                    "occupiedSeats": 2,
                    "date": "11/10/2018",
                    "time": "10:00",
                    "comment": "TEST"
                },
                "~c8oAcl": "olivierp@convertigo.com",
                "_id": "35f20ed0-a2c7-4943-b108-7803e94b9fc8",
                "_rev": "1-4f512abbf19c4667901c90e66136abac"
            }
        }
    ]
}
</code></pre>
<p>The query will return 4 rows of data for the same key. (One row by emit) And in the response you will have the flight itself plus all the linked documents for this flight</p><p>You will be able to use this data in your app easily as row[0] is &#8216;plane&#8217; data, row[1] &#8216;from&#8217; data, row[2] &#8216;to&#8217; data and flight details are in row[3]
]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/using-relational-data-in-fullsync-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convertigo Mobility Platform 7.5.3 is now released !</title>
		<link>https://www.convertigo.com/convertigo-mobility-platform-7-5-3-is-now-released/</link>
		<comments>https://www.convertigo.com/convertigo-mobility-platform-7-5-3-is-now-released/#comments</comments>
		<pubDate>Thu, 20 Sep 2018 09:25:02 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">https://www.convertigo.com/?p=243791</guid>
		<description><![CDATA[Convertigo Mobility Platform 7.5.3 is now released ! Convertigo Mobility platform 7.5.3 is now released and available for Download. Check below the release notes. The Studio including Mobile Builder for this new version can be downloaded from here : http://www.convertigo.com/download/ Convertigo MBaaS server is Also available on Docker Hub Official and Convertigo repositories. here : [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1>Convertigo Mobility Platform 7.5.3 is now released !</h1>
<blockquote align="justify">Convertigo Mobility platform 7.5.3 is now released and available for Download. Check below the release notes.</blockquote>
<p>
  The Studio including Mobile Builder for this new version can be  downloaded from here : <a href="http://www.convertigo.com/download/" target="_blank">http://www.convertigo.com/download/</a>
  <br /><br />
  Convertigo MBaaS server is Also available on Docker Hub Official and Convertigo repositories. here : 
  <a href="https://hub.docker.com/r/convertigo/convertigo/" target="_blank">https://hub.docker.com/r/convertigo/convertigo/</a> for automated builds or
  <a href="https://hub.docker.com/_/convertigo/" target="_blank">https://hub.docker.com/_/convertigo/</a> for the official image
</p>
<h4>Here are the following new features, improvements and bug fixes:</h4>
<h2>NEW FEATURES (5)</h2>
<p>
Added a new TreeView component for the Mobile Builder.<br />
Convertigo can GZip its HTTP responses. Must be turn on through the engine configuration.<br />
Added Piwik MATOMO support.<br />
Added a “CloseModal” Action in the mobile palette to close opened modal pages<br />
Added a”Tooltip” component to the mobile palette to handle tooltips for desktop applications<br />
</p>
<h2>IMPROVEMENTS (10)</h2>
<p>
Added a new Heading component for the Mobile Builder where the tag can be changed (h1, h2, h3…)<br />
The Split Step can now use a custom tagname even if the number of split is unknown.<br />
Speed up replication of deleted documents using native SDK.<br />
List Directory step can be sorted by date, size and name.<br />
Added ‘Split pane layout’ property to Application object to support ion-split-pane element.<br />
Convertigo Cache can be store in an Oracle database.<br />
A Mobile Builder Custom Validator can access page’s variables and function through ‘this’.<br />
Ship a minimal .gitignore for new projects to skip some temporary files to be committed in a Git repository.<br />
Studio: Avoid Xml parser ‘content not allowed in prolog’ message to be printed in the stdout console on object right clic.<br />
Use the latest version of Oracle OJDBC library.<br />
</p>
<h2>BUGS (22)</h2>
<p>
Fixed, replication now works if DB contains more than 100 deleted documents.<br />
Fixed, now the Sort Step doesn’t modify the source and make a copy.<br />
Fixed, added contextual parameter ‘clientip’ in logs when using UrlMapper or internal requester.<br />
Fixed, now can reorder siblings items in the project tree using DND<br />
Fixed, no more error message when delete DBOs with children in the selection<br />
Fixed, now we cannot create object with the same name, even with a different case, of a sibling object.<br />
Fixed, no more file-system alert when editing Mobile Builder ‘style’ beans.<br />
Fixed, cancelling a bean creation doesn’t set the project changed.<br />
Fixed, no more NullPointerException with the “Reference View” when clicking on some Sequences<br />
Fixed, no more warning in log when deploying a MobileBuilder project on a server.<br />
Fixed, correctly update the source picker when using ‘inputVars’ step and adding new variables to a Sequence.<br />
Fixed, exported Mobile Builder projects from Administration console are now correctly exported<br />
Fixed, JS encoding failure for MobileBuilder projects<br />
Fixed, the Schema view now cleans memory on refresh or on closing.<br />
Fixed, copy/paste a Mobile Builder page now generates the full page source.<br />
Fixed, now delete the ‘ionic_tmp’ temporary folder when a project is reloaded.<br />
Fixed, no more startup diagnostic warning if the current user’s shell isn’t defined in /etc/passwd.<br />
Fixed, now the ‘is a file upload’ property in variables is correctly used in Test platform.<br />
Fixed, check Destination configuration when call a SAP JCO function and retry in case of failure.<br />
Fixed, when a project is renamed, all Mobile Builder components using a MobileSmartSource property are updated.<br />
Fixed, added a ‘c8oSecurity’ key in document response when Fullsync replication failed due to Convertigo ACL instead of a 403 status.<br />
Fixed, prevents import of the ‘c8o’ Design Document in FullSync connector when using Studio’s “Import Design Document” menu<br />
</p>]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/convertigo-mobility-platform-7-5-3-is-now-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Mobile App User Experience: It All Starts Offline</title>
		<link>https://www.convertigo.com/the-mobile-app-user-experience-it-all-starts-offline/</link>
		<comments>https://www.convertigo.com/the-mobile-app-user-experience-it-all-starts-offline/#comments</comments>
		<pubDate>Thu, 30 Aug 2018 12:53:36 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">https://www.convertigo.com/?p=243734</guid>
		<description><![CDATA[The Mobile App User Experience: It All Starts Offline&#8230; Mobile workers expect anytime, anywhere access to their corporate apps and data. Check out this article to learn more about the new mobile user offline experience. Dzone.org just published an article about mobile offline apps and how Convertigo open source technology can help there.. Check it [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1>The Mobile App User Experience: It All Starts Offline&#8230;</h1>
<blockquote align="justify">Mobile workers expect anytime, anywhere access to their corporate apps and data. Check out this article to learn more about the new mobile user offline experience.</blockquote>
<p>
<a href="https://dzone.com" title="Dzone" target="_blank">Dzone.org</a> just published an article about mobile offline apps and how Convertigo open source technology can help there.. Check it now ! <a href="https://dzone.com/articles/the-mobile-app-user-experience-it-all-starts-offli" target="_blank">https://dzone.com/articles/the-mobile-app-user-experience-it-all-starts-offli</a>
</p>]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/the-mobile-app-user-experience-it-all-starts-offline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convertigo now supports MATOMO (Piwik) analytics Out Of The Box !</title>
		<link>https://www.convertigo.com/convertigo-now-supports-matomo-piwik-analytics-out-of-the-box/</link>
		<comments>https://www.convertigo.com/convertigo-now-supports-matomo-piwik-analytics-out-of-the-box/#comments</comments>
		<pubDate>Wed, 22 Aug 2018 13:11:12 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">https://www.convertigo.com/?p=243717</guid>
		<description><![CDATA[Convertigo now supports MATOMO (Piwik) analytics Out Of The Box ! Here is a new feature from Convertigo Mobility platform&#8217;s Mobile builder. We support direct and automatic integration with Matomo (Piwik) Analytics. Matomo comes in when Enterprises are concerned about not sharing too much data with some well knwown Internet giants, and still require some [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1>Convertigo now supports MATOMO (Piwik) analytics Out Of The Box !</h1>
<blockquote align="justify">Here is a new feature from Convertigo Mobility platform&#8217;s Mobile builder. We support direct and automatic integration with Matomo (Piwik) Analytics. Matomo comes in when Enterprises are concerned about not sharing too much data with some well knwown Internet giants, and still require some high-quality analytics. Therfore, the new Convertigo 7.5.3 features a new Mobile Builder template directly integrating Matomo. See here how to use it.
</blockquote>
<h4>Configure the template with Matomo settings</h4>
<p>
	Convertigo mobile builder templates are available in your Studio&#8217;s project workspace in the &#8220;Project Explorer&#8221; tab. Click on the tab to display a file view of all your projects and templates. Template directories are named <b>mobilebuilder_tpl_X_Y_Z</b>. So open the 7.5.3 and edit the <b>mobilebuilder_tpl_7_5_3/src/index.html</b> file : 
</p>
<p><code><pre>
  

  &lt;!-- un-comment these lines to support Matomo Piwik Analytics. Also set the Matomo-Server-Address:port in server_addr 
  &lt;script type="text/javascript"&gt;
	  var _paq = _paq || [];
	  var server_addr = "192.168.100.161:38080";
	  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
	  _paq.push(['trackPageView']);
	  _paq.push(['enableLinkTracking']);
	  (function() {
		var u = window._cordovaNative ? "http://" + server_addr + "/":"//" + server_addr + "/";
	    _paq.push(['setTrackerUrl', u+'piwik.php']);
	    _paq.push(['setSiteId', '2']);
	    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
	    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
	  })();
  &lt;/script&gt;--&gt;
</pre>
</code></p>
<p>
  Just comment out this code  and:
  <ul>
    <li>Modify the line `var server_addr = ` and set here your Matomo server ip or DNS name and port, for example, `var server_addr = my.matomo.server:443`</li>
    <li>Modify the line `var u = window._cordovaNative ? &#8220;http://&#8230;.` to `var u = window._cordovaNative ? &#8220;https://&#8230;` if you want to use HTTPS (Required in most cases)</li>
    <li>Modify the line `_paq.push([&#8216;setSiteId&#8217;, &#8216;2&#8217;]);` and set here your Matomo Web site ID number you will find in the Matomo admin console (https://my.matomo.server:443/index.php?module=SitesManager)</li>
  </ul>
 </p>
<p>
  And that&#8217;s it! From now on, all Convertigo mobile builder projects based on this template (see Project->MobileApplication->Application->Template property) will support Matomo analytics. Applications pages visited by the user will automatically be monitored by Matomo. 
</p>
]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/convertigo-now-supports-matomo-piwik-analytics-out-of-the-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New lib_PDF library for handling PDF forms</title>
		<link>https://www.convertigo.com/new-lib_pdf-library-for-handling-pdf-forms/</link>
		<comments>https://www.convertigo.com/new-lib_pdf-library-for-handling-pdf-forms/#comments</comments>
		<pubDate>Thu, 02 Aug 2018 10:23:39 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">https://www.convertigo.com/?p=243680</guid>
		<description><![CDATA[New lib_PDF library for handling PDF forms In many projects you may have to handle PDF generation. This can be done with Convertigo with XSL-FO technology but writing XSL-FO style sheets is sometimes not so easy. This is why this library was developed to use the PDF Form technology instead. Get the project from GitHUB [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1>New lib_PDF library for handling PDF forms</h1>
<blockquote align="justify">In many projects you may have to handle PDF generation. This can be done with Convertigo with XSL-FO technology but writing XSL-FO style sheets is sometimes not so easy. This is why this library was developed to use the PDF Form technology instead.
</blockquote>
<h4>Get the project from GitHUB</h4>
<p>
  The lib_PDF project can be found on git hub <a href="https://github.com/convertigo/lib_PDF" target="_blank" title="lib_PDF">https://github.com/convertigo/lib_PDF</a>
</p>]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/new-lib_pdf-library-for-handling-pdf-forms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building And Deploying Convertigo projects in DevOps CI</title>
		<link>https://www.convertigo.com/building-and-deploying-convertigo-projects-in-devops-ci/</link>
		<comments>https://www.convertigo.com/building-and-deploying-convertigo-projects-in-devops-ci/#comments</comments>
		<pubDate>Tue, 26 Jun 2018 12:19:03 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">https://www.convertigo.com/using-a-local-enterprise-or-team-wide-npm-repository-2/</guid>
		<description><![CDATA[Building And Deploying Convertigo projects in DevOps CI DevOps and Continuous integration (CI) are now widely used in Enterprises. This post shows how to build and automate deployments of Convertigo Projects to run-time Convertigo servers for testing or production. Building a Convertigo .CAR file Convertigo .CAR files are just a ZIP of a Convertigo project [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1>Building And Deploying Convertigo projects in DevOps CI</h1>
<blockquote align="justify">
DevOps and Continuous integration (CI) are now widely used in Enterprises. This post shows how to build and automate deployments of Convertigo Projects to run-time Convertigo servers for testing or production.</blockquote>
<h4>Building a Convertigo .CAR file</h4>
<p>Convertigo .CAR files are just a ZIP of a Convertigo project directory. To automate the build a .CAR file:</p>
<ul>
  <li>Get from your GIT repository the project to build (git clone https://my.git.repo/myproject) </li>
  <li>ZIP the directory (zip myproject)</li>
  <li>Rename the .ZIP file as myproject.car. Be sure to name the .CAR file the same name that the XML file present in the root of the project directory. eg: myproject.car</li>
</ul>
The Convertigo project is no built and ready to be deployed to Convertigo Servers.
<h4>Deploying .CAR file to Convertigo servers</h4>
<p>Once the projects are built, you can deploy them to Convertigo servers. You can automate this by using the cURL script tool:</p>
  <ul>
    <li>First you must login to the admin service:<br /><br/>
      <div style="background-color: black; color:#fefefefe">
        <code style="background-color: black; color:#fefefefe">
          $ curl 'http://&lt;server:port&gt;/convertigo/admin/services/services/engine.Authenticate' --data 'authUserName=&lt;admin_user_name&gt;&amp;authPassword=&lt;admin_password&gt;&amp;authType=login' -c cookies.txt
        </code>
      </div>
      <br /><br />
    </li>
    <li>Then deploy the .CAR to the Convertigo Server<br /><br/>
      <div style="background-color: black; color:#fefefefe">
        <code style="background-color: black; color:#fefefefe">
          $ curl 'http://&lt;server:port&gt;/convertigo/admin/services/projects.Deploy?bAssembleXsl=false' -b cookies.txt -F "file=@./myproject.car;filename=myproject.car"
        </code>
      </div>
      <br /><br />
      <p>The Server will respond: </p>
      <div style="background-color: black; color:#fefefefe">
        <code >
          &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br/><br/>
          &lt;admin service="projects.Deploy"&gt;<br/>
          &nbsp;&nbsp;&nbsp;&nbsp;&lt;message&gt;The project 'myproject' has been successfully deployed.&lt;/message&gt;<br/>
          &lt;/admin&gt;<br/>
         </code>
       </div>
       <br />
    </li>
  </ul>
<p>
  The project will be deployed on the server and will be immediately ready for use. You can use these automated commands to deploy .CAR files to multiple Convertigo server instances by varying the &lt;server:port&gt; values 
</p>
<p>
These command lines can be inserted in any CI tools such as Travis, CircleCI or Jenkins or any other tool able to execute bash comands.
</p>
]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/building-and-deploying-convertigo-projects-in-devops-ci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using a Local enterprise or team wide NPM repository</title>
		<link>https://www.convertigo.com/using-a-local-enterprise-or-team-wide-npm-repository/</link>
		<comments>https://www.convertigo.com/using-a-local-enterprise-or-team-wide-npm-repository/#comments</comments>
		<pubDate>Thu, 31 May 2018 09:32:39 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">https://www.convertigo.com/using-egit-with-convertigo-2/</guid>
		<description><![CDATA[Using a Local enterprise or team wide NPM repository In many enterprises, accessing public NPM repository is difficult or slow due to proxy filtering and internet access restrictions. The use of a local NPM repository for Convertigo Mobile Builder is the best solution to speed the initial project startup. Installing local-npm Your NPM local repository [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1>Using a Local enterprise or team wide NPM repository</h1>
<blockquote align="justify">
In many enterprises, accessing public NPM repository is difficult or slow due to proxy filtering and internet access restrictions. The use of a local NPM repository for Convertigo Mobile Builder is the best solution to speed the initial project startup.</blockquote>
<h4>Installing local-npm</h4>
<p>Your NPM local repository friend will be &#8216;local-npm&#8217; <a href="https://www.npmjs.com/package/local-npm" title="local-npm" target="_blank">https://www.npmjs.com/package/local-npm</a>.</p>
<p>This Package will mirror all the needed packages you need to start a Convertigo Mobile Builder project. You can install this on a Linux or Windows server able to acess the Internet on https://registry.npmjs.org. This local NPM server will a database of all the packages stored locally in your organisation. From now, Convertigo Studios will be able to access it without having to access directly the NPM registry the Internet
</p>
<p>
  To install npm-local on a server:
  <ul>
    <li>create a directory where the database will be stored on your server</li>
    <li>use <code>npm install -g local-npm</code> to install the proxy.</li>
    <li>go in the directory you created and run <code>local-npm</code></li>
    <li>on each Convertigo Studio workstation run in a shell or cmd <code>npm set registry http://&lt;your server ip address&gt;:5080></code></li>
  </ul>
  </p>
<p>
  from now on, Convertigo Mobile builder will install all the required depedencies from your local NPM server with the network speed of your LAN instead of acessing the public NPM registery through slow and unfriendly network proxys&#8230;
</p>

]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/using-a-local-enterprise-or-team-wide-npm-repository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convertigo 7.5.2  is now released</title>
		<link>https://www.convertigo.com/convertigo-7-5-2-is-released/</link>
		<comments>https://www.convertigo.com/convertigo-7-5-2-is-released/#comments</comments>
		<pubDate>Tue, 22 May 2018 09:57:45 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">https://www.convertigo.com/convertigo-7-5-xenon-is-released-with-new-rmad-rapid-mobile-application-development-edition-2/</guid>
		<description><![CDATA[New Convertigo 7.5.2 is now released! Olivier Picciotto explains the new features and enhancements this version brings in. At Convertigo, we are proud to present this new release of the Convertigo Mobility Platform. Find below a list of enhancements we provide for this new version: We added an Event subscribe/ publish mechanisme based on the [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1>New Convertigo 7.5.2 is now released!</h1>
<blockquote align="justify">
Olivier Picciotto explains the new features and enhancements this version brings in. <br /></blockquote>
<p>At Convertigo, we are proud to present this new release of the Convertigo Mobility Platform. Find below a list of enhancements we provide for this new version:</p>
<ul>
 <li>We added an Event subscribe/ publish mechanisme based on the standard Ionic event engine for notifying from one page to another. This is very useful for notifying a page from a popup window for example. See the <a href="https://www.convertigo.com/document/latest/reference-manual/convertigo-objects/mobile-application/components/action-components/publishevent" title="Publish Event" target="_blank">PublishEvent</a> and the <a href="https://www.convertigo.com/document/latest/reference-manual/convertigo-objects/mobile-application/components/control-components/subscribe-handler" title="Subscribe Event" target="_blank">Subscribe-Handler</a> for documentation</li>
 <li>Animations are fun to use! We added a whole bunch of animation capabilities to Convertigo Mobile Builder so that you can animate your pages and components in a few clicks. Animations can be automatically triggered when a component is displayed on a page (See <a href="https://www.convertigo.com/document/latest/reference-manual/convertigo-objects/mobile-application/components/custom-components/animation/" title="Animation" target="_blank">Animation attribute</a>, or triggered by an event (See : <a href="https://www.convertigo.com/document/latest/reference-manual/convertigo-objects/mobile-application/components/action-components/animate" title="Animate" target="_blank">Animate Action)</a></li>
 <li>You can now use &#8220;import * as module &#8230; &#8221; in CustomAction &#8220;page import&#8221; property. This is useful for importing plain JS code in your Mobile Builder projects.</li>
 <li>It is now possible to set the &#8216;item position&#8217; property on an icon defined in page for Menu (Left or Right)</li>
 <li>In previous versions menus were not fully customizable. You can now use Forms, actions and anything you would use in standard page in menus. This gives the full power to dynamically display menu items in your apps.</li>
 <li>We enhanced error handling in the Studio if your project is bound to an unexistent template. Now, a clean error message will appear.</li>
 <li>Convertigo FullSync is now compatible and qualified with CouchDB 2.11 (And of course CouchDB 1.61) This brings the full power of CouchDB Clustering to your FullSync projects. Clustering enhances performance (As multiple CouchDB instances can handle requests) and reliability (as databases can be spread and replicated among multiple instances).</li>
 <li>As a small enhancement, we added a button &#8220;Clear&#8221; to the search edit in the mobile palette</li>
 <li>Also, we added &#8216;CanEnter&#8217; and &#8216;CanLeave&#8217;, page&#8217;s lifecycle event for Mobile Builder page events</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/convertigo-7-5-2-is-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using EGIT with Convertigo</title>
		<link>https://www.convertigo.com/using-egit-with-convertigo/</link>
		<comments>https://www.convertigo.com/using-egit-with-convertigo/#comments</comments>
		<pubDate>Thu, 25 Jan 2018 13:50:44 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">https://www.convertigo.com/?p=210770</guid>
		<description><![CDATA[Using EGIT with Convertigo Convertigo Studio can be used with EGIT to share projects on GitHub or any other GIT compatible repositories. This post explains how to use EGIT and how to share / clone projects. Installing EGIT By default, Convertigo Studio is not providing the EGIT plugin. You can install it easily this way [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1>Using EGIT with Convertigo</h1>
<blockquote align="justify">
Convertigo Studio can be used with EGIT to share projects on GitHub or any other GIT compatible repositories. This post explains how to use EGIT and how to share / clone projects.</blockquote>
<h4>Installing EGIT</h4>
<p>By default, Convertigo Studio is not providing the EGIT plugin. You can install it easily this way :
</p>
<ul>
  <li>Help->Install New Software&#8230;</li>
  <li>Type the <b>http://download.eclipse.org/egit/updates </b> URL in the &#8220;Work with&#8221; input box, click the &#8220;Add&#8230;&#8221; Button and click &#8220;Ok&#8221; in the dialog box</li>
  <li>Click the Checkbox near the &#8220;Git integration for Eclipse&#8221;</li>
  <li>Click &#8220;Next>&#8221; and Again &#8220;Next>&#8221;, accept the license and click &#8220;Finish&#8221;</li>
</ul>
<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_installation_01.png" rel="lightbox-0"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_installation_01-300x236.png" alt="EGit_plugin_installation_01" width="300" height="236" class="alignnone size-medium wp-image-210838" /></a>

<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_installation_06.png" rel="lightbox-1"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_installation_06-240x300.png" alt="EGit_plugin_installation_06" width="240" height="300" class="alignnone size-medium wp-image-210843" /></a>

<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_installation_07.png" rel="lightbox-2"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_installation_07-300x162.png" alt="EGit_plugin_installation_07" width="300" height="162" class="alignnone size-medium wp-image-210844" /></a>
<p>
  The EGIT plugin will be installed on your Studio and you will have to restart it to use it.
</p>
<h4>Cloning (Importing) a project from GitHub to Convertigo Studio</h4>
<p>
<ul>
  <li>Open the Git perspective: Window->Perspective->Open Perspective->Other.. and choose Git and click &#8220;Ok&#8221;</li>
  <li>Click on the &#8220;Clone a Git repository&#8221; icon (The second &#8220;Git&#8221; icon in the &#8220;Git repositories&#8221; view</li>
  <li>Fill the &#8220;URI&#8221; field with the GitHub repository URL (eg: https://github.com/convertigo/FlightShare). &#8220;Host&#8221;, &#8220;Repository path&#8221; and &#8220;protocol&#8221; will be automatically filled in</li>
  <li>Fill in your username and password for GitHub account and check the &#8220;Store in Secure Store&#8221; if you want</li>
  <li>Select the Branch (usually &#8216;master&#8217;) and click &#8220;Next>&#8221;</li>
  <li><b><i>!!! VERY IMPORTANT !!!&#8221;</i></b> be sure to browse to your Workspace folder so that the Directory field look like this : &lt;Workspace Path&gt;/&lt;NameOfYourProject&gt;</li>
  <li>Click &#8220;Import all existing projects after clone finishes&#8221;</li>
  <li>Click &#8220;Finish&#8221;</li>
  <li>In the Studio &#8220;Projects&#8221; view, go to File->Import&#8230;->Convertigo->Convertigo project, then browse to your &lt;projectName&gt;.xml file and click &#8220;Finish&#8221;</li>
</ul>  
  <a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_01.png" rel="lightbox-3"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_01-286x300.png" alt="EGit_plugin_clone_01" width="286" height="300" class="alignnone size-medium wp-image-210832" /></a>

<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_02.png" rel="lightbox-4"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_02-286x300.png" alt="EGit_plugin_clone_02" width="286" height="300" class="alignnone size-medium wp-image-210833" /></a>

<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_03.png" rel="lightbox-5"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_03-286x300.png" alt="EGit_plugin_clone_03" width="286" height="300" class="alignnone size-medium wp-image-210834" /></a>

<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_05.png" rel="lightbox-6"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_05-300x162.png" alt="EGit_plugin_clone_05" width="300" height="162" class="alignnone size-medium wp-image-210836" /></a>

<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_06.png" rel="lightbox-7"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_clone_06-300x170.png" alt="EGit_plugin_clone_06" width="300" height="170" class="alignnone size-medium wp-image-210837" /></a>
</p>
<h4>Sharing a project to GitHub</h4>
<p>
You can share your project on GitHub by creating a Git repository for your project. It is very important that the repository is created in the project directory itself. If not, you will not be able to share your project properly. To do so, follow these instructions:  
</p>
<ul>
	<li>In the project view, click on the &#8220;Project Explorer&#8221; tab to show Convertigo projects in files mode</li>
	<li>Right-click on the project you want to share and choose Team->Share project, Select &#8220;Git&#8221; as repository type and click &#8220;Next>&#8221;</li>
	<li><b><i>!!! VERY IMPORTANT !!!&#8221;</i></b> Be sure to check the &#8220;Use or Create repository in parent folder of project&#8221;</li>
	<li>Highlight the project in the list by clicking on it. The &#8220;Create Repository&#8221; button will then be available. Ignore the warning message saying that it is not recommended to create repositories in Eclipse workspace and click the &#8220;Create Repository&#8221; button </li>
	<li>Click the &#8220;Finish&#8221; button</li>
<p>Your Project will not be placed under Git version control yet and you will be able to publish it on GitHub this way:</p>
<ul>
  <li>First, you have to mark some folders to Ignore for Git version control. To do so, right-click on &#8220;_private&#8221; folder and do Team->Ignore. Do the same for &#8220;DisplayObjects/mobile/build&#8221; folder</li>
  <li>Then do your first commit: Right-Click on project Team->Commit&#8230; The Git Staging view will appear, select all the Unstaged changes in the &#8220;Unstaged Changes&#8221; window and Drag &amp; Drop them in the &#8220;Staged changes&#8221; Window. Enter a commit message, for example, &#8220;First Commit&#8221; and click the &#8220;Commit&#8221; Button.</li>
  <li>You can now upload your project to GitHub, Right-click on Project then, &#8220;Team->Push Branch master&#8230;&#8221; </li>
  <li>Configure your GitHub URI (You must create the Repository on GitHub first)</li>
  <li>Configure your GitHub credentials</li>
  <li>Click &#8220;Finish&#8221; button</li>
</ul>
<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_share_01.png" rel="lightbox-8"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_share_01-300x172.png" alt="EGit_plugin_share_01" width="300" height="172" class="alignnone size-medium wp-image-210845" /></a>
  
<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_share_02.png" rel="lightbox-9"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_share_02-300x162.png" alt="EGit_plugin_share_02" width="300" height="162" class="alignnone size-medium wp-image-210830" /></a>

<a href="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_share_03.png" rel="lightbox-10"><img src="https://www.convertigo.com/wp-content/uploads/2018/01/EGit_plugin_share_03-300x162.png" alt="EGit_plugin_share_03" width="300" height="162" class="alignnone size-medium wp-image-210831" /></a>

<p>
  The project will be uploaded to GitHub and other developers will be able to clone the project and modify it. Each time you modify the project the &lt;project&gt;.xml will be modified and you will be able to commit it. You also have a &#8220;commit and push&#8221; button to immediately update GitHub after a commit.
</p>  ]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/using-egit-with-convertigo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convertigo Mobility Platform useful dev tips</title>
		<link>https://www.convertigo.com/convertigo-mobility-platform-useful-dev-tips/</link>
		<comments>https://www.convertigo.com/convertigo-mobility-platform-useful-dev-tips/#comments</comments>
		<pubDate>Wed, 11 Mar 2015 15:30:32 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[technical blog]]></category>

		<guid isPermaLink="false">http://www.convertigo.com/?p=78593</guid>
		<description><![CDATA[In this article, Assad shows some tips in order to add custom JavaScript code in our device screens when using Convertigo Mobility Platform. &#160; For this sample, our data source will be XML files but this could be any data source actually (Database, Legacy, Webservice, …). The source code for this sample can be downloaded [&#8230;]]]></description>
				<content:encoded><![CDATA[<div id="techBlog">
<h1>In this article, Assad shows some tips in order to add custom JavaScript code in our device screens when using Convertigo Mobility Platform.</h1>

<hr id="system-readmore" />



<hr id="system-readmore" />

&nbsp;
<blockquote><span style="color: #646464;">For this sample, our data source will be XML files but this could be any data source actually (Database, Legacy, Webservice, …).

The source code for this sample can be downloaded here: <a href="http://convertigo-download.s3.amazonaws.com/webrepository/itCenter/car/sample_customJs.car"  target="_blank">sample_customJs.car</a>.
&nbsp;
In the xml directory of the project, you can find all XML files used for this sample.
</span></blockquote>
&nbsp;
<p><h2><span style="color: #ff9900;">Device back button</span></h2></p>
In many applications, we need to do server side operations between two pages, for example requesting a list of names in a database table, etc … In Convertigo, we have Sequences, a powerfull tool that lets you do complex operations without coding. On a device, when you access a page from a previous form, Convertigo provides tools in order to get the Sequence response (See for more informations: <a href="http://www.convertigo.com/document/latest/reference-manual/convertigo-templating-framework/listening-for-a-c8o-requestable-response/" target="_blank"> http://www.convertigo.com/document/latest/reference-manual/convertigo-templating-framework/listening-for-a-c8o-requestable-response/ </a>). While navigating through the screens, there will be a time when the user would try to get to the previous screen by using the device back button. At this moment, since there is no call to the server, there will be no c8o response, and so the dynamic data won’t be present. In order to prevent this, there is a caching option in the JqueryMobile API. We just need to add the following code to our <em>custom.js</em>:

&nbsp;

&nbsp;
<pre class="lang:js decode:true "><code>$(document).bind("mobileinit", function(){   
     $.mobile.page.prototype.options.domCache = true;
});
</code></pre>
&nbsp;

&nbsp;
<p><h2><span style="color: #ff9900;">Data-c8o-custom attribute</span></h2></p>
Convertigo provides several patterns for conditional templating using CTF (See for more informations:<a href="http://www.convertigo.com/document/latest/reference-manual/convertigo-templating-framework/html-templating/" target="_blank"> http://www.convertigo.com/document/latest/reference-manual/convertigo-templating-framework/html-templating/</a> )
In some cases, you may need to add specific business logic. Convertigo lets you do it, you just need to add the <em>data-c8o-custom</em> attribute in order to execute your own JavaScript function.
In our sample project, we have to check a radio button depending on the value of a datasource field (“yes” or “no”). We add to our input radio button tag the <em>data-c8o-custom</em> attribute: 
<pre class="lang:xhtml decode:true "><code>  data-c8o-custom='__{"formatter":"fmt_radio", "find":"playable"}__'
</code></pre>
where “playable” is the name of a field in our XML file.
And in our custom.js, we add the following code:
<pre><code>	function fmt_radio(value) {
		var $check = $(this);
		$check.prop( "checked", value == $check.val());	
	}
</code></pre>
If the value of the field is equal to the radio button value, we set the property “checked” to this radio button.
<p><h2><span style="color: #ff9900;">“xml_response” hook</span></h2></p>
In the <em>custom.js</em> file, there is a hook that lets you manipulate the XML response received from the server. In some cases, you may need to use it when you cannot use CTF templating.
In our sample, we add a JqueryMobile panel to a screen and we would like to call a Sequence in this panel. From this call, we would like to add data from the response to our current panel. CTF templating doesn’t support yet panels. In order to be able to use our Sequence response, we can use the xml_response hook.
Here is the sample code from our project:
<pre><code>C8O.addHook("xml_response", function (xml, data) {
	if(data.__sequence == "Battlegrounds_Sequence"){
		$doc = $(xml.documentElement);
		$battleground = $doc.find("battleground");
		if($battleground.length&gt;0){
			$("#listBattlegrounds").empty();
			$battleground.each(function(){
				$("#listBattlegrounds").append(
						$("&lt;li&gt;&lt;/li&gt;").append($("").text($(this).find('name').text()))
				);
			});
		}
		$("#listBattlegrounds").listview("refresh");
	}
	
	return true;
});
</code></pre>
We first test from which Sequence we came from because this code is executed each time we access a page after a server call. And then we build our list by using Jquery API.
<p><h2><span style="color: #ff9900;">Conclusion</span></h2></p>
We can see that Convertigo Mobility Platform is not a closed framework, it gives you powerfull tools but you still have the freedom to add your own business logic easily.
Enjoy testing this sample and we hope to see you on the forum to share with us your feedbacks.

</div>]]></content:encoded>
			<wfw:commentRss>https://www.convertigo.com/convertigo-mobility-platform-useful-dev-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
