Hi,
we've made a Progressive Web Application for our espo crm, thats an installable mobile & desktop application,
so we will share the 'How to" with anybody how likes to have a similar app.
1. Create a new folder in your espo root folder and name it icon
2. Create an image png file 192px x 192px, name it 192x192.png and upload it in the previously created 'icon' folder.
3. Create an image png file 512px x 512px, name it 512x512.png and upload it in the previously created 'icon' folder.
4. Create a new file in your espo root folder, name it admin-sw.js and paste the code below:
*Replace: YOUR_APPLICATION_NAME with your own
5. Create a new file in your espo root folder, name it admin-manifest.webmanifest and paste the code below:
*Replace:YOUR_APPLICATION_NAME, A_SHORTER_NAME, your_domain.com/your_espo_root_folder, with your own.
6. Create a new file in your espo root folder, name it admin-index.js and paste the code below:
*Replace: your_domain.com/your_espo_root_folder with your own
7. Go to your espo root folder > html edit file main.html and add the code below somewhere between the <head> </head> tags:
*Replace: your_domain.com/your_espo_root_folder with your own
P.S You may need to edit .htaccess file in your root folder and add the following exception:
Done!
After all visiting your espo installation you'll get notification to install your app on mobile or desktop on browser's address bar.
Hope you find it interesting and useful.
we've made a Progressive Web Application for our espo crm, thats an installable mobile & desktop application,
so we will share the 'How to" with anybody how likes to have a similar app.
1. Create a new folder in your espo root folder and name it icon
2. Create an image png file 192px x 192px, name it 192x192.png and upload it in the previously created 'icon' folder.
3. Create an image png file 512px x 512px, name it 512x512.png and upload it in the previously created 'icon' folder.
4. Create a new file in your espo root folder, name it admin-sw.js and paste the code below:
*Replace: YOUR_APPLICATION_NAME with your own
Code:
self.addEventListener('install', function(e) { e.waitUntil( caches.open('YOUR_APPLICATION_NAME').then(function(cache) { return cache.addAll([ ]); }) ); }); self.addEventListener('fetch', function(e) { e.respondWith( caches.match(e.request).then(function(response) { return response || fetch(e.request); }) ); });
5. Create a new file in your espo root folder, name it admin-manifest.webmanifest and paste the code below:
*Replace:YOUR_APPLICATION_NAME, A_SHORTER_NAME, your_domain.com/your_espo_root_folder, with your own.
Code:
{ "name": "YOUR_APPLICATION_NAME'", "short_name": "A_SHORTER_NAME'", "start_url": "https://your_domain.com/your_espo_root_folder", "scope": "https://your_domain.com/your_espo_root_folder", "icons": [ { "src": "https://your_domain.com/your_espo_root_folder/icon/192x192.png", "sizes": "192x192", "type": "image/png" }, { "src": "https://your_domain.com/your_espo_root_folder/icon/512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" } ], "orientation": "portrait-primary", "theme_color": "#303030", "background_color": "#303030", "display": "standalone" }
6. Create a new file in your espo root folder, name it admin-index.js and paste the code below:
*Replace: your_domain.com/your_espo_root_folder with your own
Code:
if ("serviceWorker" in navigator) { navigator.serviceWorker .register("https://your_domain.com/your_espo_root_folder/admin-sw.js") .then(serviceWorker => { console.log("Service Worker registered: ", serviceWorker); }) .catch(error => { console.error("Error registering Admin Service Worker: ", error); }); }
7. Go to your espo root folder > html edit file main.html and add the code below somewhere between the <head> </head> tags:
*Replace: your_domain.com/your_espo_root_folder with your own
Code:
<meta name="theme-color" content="#303030"/> <script src="https://your_domain.com/your_espo_root_folder/admin-index.js" defer></script> <link rel="manifest" href="https://your_domain.com/your_espo_root_folder/admin-manifest.webmanifest"> <link rel="apple-touch-icon" href="https://your_domain.com/your_espo_root_folder/icon/512x512.png">
P.S You may need to edit .htaccess file in your root folder and add the following exception:
Code:
RewriteRule ^admin-index.js - [L] RewriteRule ^admin-manifest.webmanifest - [L] RewriteRule ^admin-sw.js - [L] RewriteRule ^icon/ - [L]
After all visiting your espo installation you'll get notification to install your app on mobile or desktop on browser's address bar.
Hope you find it interesting and useful.
Comment