Difference between revisions of "User:Jtraulle/DiscourseMigration"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
m (test 2)
m (Reverted edits by Arre (talk) to last revision by Jtraulle)
Tag: Rollback
Line 1: Line 1:
 
This page gathers info about Discourse migration.
 
This page gathers info about Discourse migration.
 
Test
 
  
 
<br />
 
<br />
Line 7: Line 5:
 
<br />
 
<br />
  
===Custom logos===
+
=== Custom logos ===
 
<br />
 
<br />
  
====Main forum logo====
+
==== Main forum logo ====
 
[[File:Logo forum discourse (proposal).png|none|thumb|300x300px|Logo forum discourse (proposal)]]
 
[[File:Logo forum discourse (proposal).png|none|thumb|300x300px|Logo forum discourse (proposal)]]
 
<br />
 
<br />
  
====Logo to use in email notifications and mobile view====
+
==== Logo to use in email notifications and mobile view ====
 
[[File:Logo forum discourse (for email and mobile view).png|none|thumb|300x300px|Logo forum discourse(for email and mobile view)]]
 
[[File:Logo forum discourse (for email and mobile view).png|none|thumb|300x300px|Logo forum discourse(for email and mobile view)]]
 
 
 
'''Logo to use ... whatever'''
 
[[File:Test1.png|left|thumb|non responsive, not appropriated]]
 
 
<br />
 
<br />
  
 
+
=== Custom layout ===
 
 
<br />
 
===Custom layout===
 
  
  
Line 36: Line 26:
 
Go to <code>Admin → Customize → Themes → Light → Edit CSS/HTML → Common → Header</code> and paste :
 
Go to <code>Admin → Customize → Themes → Light → Edit CSS/HTML → Common → Header</code> and paste :
  
<syntaxhighlight lang="html">
+
<syntaxhighlight lang="HTML">
 
<div id="header" class="clearfix">
 
<div id="header" class="clearfix">
 
     <div id="inner-header">
 
     <div id="inner-header">
Line 78: Line 68:
 
     </div>
 
     </div>
 
</div>
 
</div>
 
// to be continued
 
 
</syntaxhighlight><br />
 
</syntaxhighlight><br />
 
====Custom Footer to add====
 
====Custom Footer to add====
Line 339: Line 327:
 
}
 
}
 
</syntaxhighlight><br />
 
</syntaxhighlight><br />
==''Allow PostgreSQL to be accessed from an external application''==
+
==Allow PostgreSQL to be accessed from an external application==
  
 
''Useful to be able to access the database from a graphical client (like pgAdmin 4, TablePlus or Postico for example).''
 
''Useful to be able to access the database from a graphical client (like pgAdmin 4, TablePlus or Postico for example).''
Line 348: Line 336:
 
  ./launcher rebuild app
 
  ./launcher rebuild app
 
3. Enter into the container, login as the default postgresql user, add a new user and grant it all perms to the database
 
3. Enter into the container, login as the default postgresql user, add a new user and grant it all perms to the database
 
test ajout de ligne
 
 
  ./launcher enter app
 
  ./launcher enter app
 
  sudo -u postgres psql discourse
 
  sudo -u postgres psql discourse
Line 356: Line 342:
 
  GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO my_username;
 
  GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO my_username;
 
  \q
 
  \q
 
 
'''test liste'''
 
 
# numéro 1
 
# numéro 10
 
# numéro 11
 

Revision as of 13:31, 1 August 2019

This page gathers info about Discourse migration.


Tentative design


Custom logos


Logo forum discourse (proposal)


Logo to use in email notifications and mobile view
Logo forum discourse(for email and mobile view)


Custom layout

Discourse allow to easily include a custom header and footer ; as well as custom styles.

This is a tentative custom Layout



Custom Header to add

Go to Admin → Customize → Themes → Light → Edit CSS/HTML → Common → Header and paste :

<div id="header" class="clearfix">
    <div id="inner-header">
    	<a id="logo" href="/">
    		<img src="https://www.dolibarr.fr/templates/dolibarr/images/bg2.png" alt="ERP et CRM Open Source pour gérer votre entreprise ou association - Portail France" width="200" height="59">
    	</a>
    	<div id="headermodule">
            <div class="bannergroup bannertop">
    	        <div class="banneritem">
    	            <a href="/component/banners/click/22" target="_blank" title="Partenaire ATOO.NET">
    					<img src="https://www.dolibarr.fr/images/banners/Couteau_suisse_UltimatePdf.jpg" alt="ATOONET" width="468" height="60">
    				</a>
    				<div class="clr"></div>
    	        </div>
            </div>
    	</div>
	</div>
	<div id="nav" class="">
    	<div id="decalmenu" class="backshadow">
    		<ul class="nav menu" id="mainmenu">
                <li class="item-166"><a href="/">Accueil</a></li>
                <li class="item-57"><a href="/screenshots">Screenshots</a></li>
                <li class="item-49"><a href="/demo-en-ligne">Démo en ligne</a></li>
                <li class="item-36"><a href="/telechargements">Téléchargements</a></li>
                <li class="item-64"><a href="/documentation">Documentation</a></li>
                <li class="item-79"><a href="/boutique">Boutique</a></li>
                <li class="item-59"><a href="/association">Association</a></li>
                <li class="item-207 active"><a href="/forum">Forum</a></li>
            </ul>
    
    
            <form id="mod-finder-searchform" action="/component/finder/search" method="get" class="form-search">
            	<div class="finder">
            		<input type="text" name="q" id="mod-finder-searchword" class="search-query input-medium" size="15" value="" autocomplete="off">
            		<input type="hidden" name="Itemid" value="198">
            	</div>
            </form>
    	</div>
    	<div class="backshadow arrowafterul"></div>
    	<div class="backshadow"></div>
    </div>
</div>


Custom Footer to add

Go to Admin → Customize → Themes → Light → Edit CSS/HTML → Common → Footer and paste :

<div id="footer">
	<span itemprop="name">Dolibarr ERP &amp; CRM</span> © 2003-2017 - Gestion d'entreprise ou d'association
</div>


Custom CSS to add

Go to Admin → Customize → Themes → Light → Edit CSS/HTML → Common → CSS and paste :

#header {
   background-color: rgb(61,95,147);
   background-image: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/header-overlay.png),url(https://www.dolibarr.fr/templates/dolibarr/images/overlays/headers/header-6_dolibarr.png);
   background-repeat:repeat-x, no-repeat;
   background-position-x: 600px;
}

#inner-header {
   max-width: 1110px;
   height: 105px;
   margin: auto;
}

#headermodule {
   float: right;
   margin: 10px 0;
}

.banneritem {
   margin-right: 8px;
}

#main {
   background: url(https://www.dolibarr.fr/templates/dolibarr/images/header-overlay.png) 50% -90px repeat-x !important;
   background-color: rgba(0, 0, 0, 0);
   background-color: #FFFFFF !important;
}

.d-header {
   background-color: inherit;
   box-shadow: inherit;
}

.d-header .wrap .contents, #main-outlet {
   background-color: #FFFFFF;
}

#logo {
   float: left;
   margin: 5px 0;
   display: block;
   max-width: 100%;
   margin-left: 4px;
   margin-top: 32px;    
}

/* menu */

#nav {
   background-color: rgb(56,90,127) !important;
   background: linear-gradient(rgba(56,90,127,.5), rgba(56,90,127,1)),url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/nav-overlay2.png) 50% 0 repeat-x !important;
}

#nav ul {
   padding:0;
   margin:0;
}

#nav ul li {
   display: inline-block;
   margin: 0 0 0 0;
   padding: 8px 4px 4px 12px;
}

#nav #decalmenu {
   max-width: 1126px;
   margin: auto;
   padding: 0;
}

#nav ul li a {
   display: inline-block;
   color: #FFF;
   font-weight: bold;
   text-decoration: none;
   font-size: 13px;
   padding: 6px 5px 4px 5px;
   height: 26px;
}

.backshadow {background: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/nav-overlay3.png) 0% 0 repeat-x;}

#nav arrowafterul { background: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/menus/menutab-r.png) 0 0 no-repeat; }

#nav ul li { background: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/menus/menutab-r.png) 0 0 no-repeat; min-height: 36px; }

#nav ul li.active, #nav ul li.active { opacity: 0.8; }

#nav ul li:hover, #nav ul li:hover .item, #nav ul li.active:hover { 
   background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(0,0,0,.3)) );
}

#mainmenu {
   display: inline-block;
}

#rokajaxsearch, form#mod-finder-searchform {
   display: inline-block;
   margin-right: 10px;
   margin-left: 68px;
   margin-bottom: 10px;
}

.roksearch_search_str {
   width: 150px;
}

input.search-query {
   padding-right: 14px;
   padding-right: 4px \9;
   padding-left: 14px;
   padding-left: 4px \9;
   margin-bottom: 0;
   -webkit-border-radius: 15px;
   -moz-border-radius: 15px;
   border-radius: 15px;
}

.finder .search-query {
   width: 132px;
}

.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
   -webkit-border-radius: 0;
   -moz-border-radius: 0;
   border-radius: 0;
}

.form-search .input-append .search-query {

   -webkit-border-radius: 14px 0 0 14px;

   -moz-border-radius: 14px 0 0 14px;

   border-radius: 14px 0 0 14px;

}

.form-search .input-append .btn {

   -webkit-border-radius: 0 14px 14px 0;

   -moz-border-radius: 0 14px 14px 0;

   border-radius: 0 14px 14px 0;

}

.form-search .input-prepend .search-query {

   -webkit-border-radius: 0 14px 14px 0;

   -moz-border-radius: 0 14px 14px 0;

   border-radius: 0 14px 14px 0;

}

.form-search .input-prepend .btn {

   -webkit-border-radius: 14px 0 0 14px;

   -moz-border-radius: 14px 0 0 14px;

   border-radius: 14px 0 0 14px;

}

.form-search input,
.form-search textarea,
.form-search select,
.form-search .help-inline,
.form-search .uneditable-input,
.form-search .input-prepend,
.form-search .input-append,
.form-inline input,
.form-inline textarea,
.form-inline select,
.form-inline .help-inline,
.form-inline .uneditable-input,
.form-inline .input-prepend,
.form-inline .input-append,
.form-horizontal input,
.form-horizontal textarea,
.form-horizontal select,
.form-horizontal .help-inline,
.form-horizontal .uneditable-input,
.form-horizontal .input-prepend,
.form-horizontal .input-append {
   display: inline-block;
   *display: inline;
   *zoom: 1;
   margin-bottom: 0;
   vertical-align: middle;
}

.form-search .hide,
.form-inline .hide,
.form-horizontal .hide {
   display: none;
}

.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
   display: inline-block;
}

.form-search .input-append,

.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
   margin-bottom: 0;
}

.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
   padding-left: 0;
   margin-bottom: 0;
   vertical-align: middle;
}

.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
   float: left;
   margin-right: 3px;
   margin-left: 0;
}

#footer {
   margin: auto;
   background: #e3e3e3;
   border-top: 1px solid #ccc;
   padding: 5px;
   color: #888;
   text-align: center;
}


Allow PostgreSQL to be accessed from an external application

Useful to be able to access the database from a graphical client (like pgAdmin 4, TablePlus or Postico for example).

1. Expose the 5432 TCP port from the container to the host by adding this line to the expose: section of containers/app.yml :

- "5432:5432"

2. Rebuild the container to take into account modifications to app.yml :

./launcher rebuild app

3. Enter into the container, login as the default postgresql user, add a new user and grant it all perms to the database

./launcher enter app
sudo -u postgres psql discourse
CREATE USER my_username WITH PASSWORD 'my_password';
GRANT ALL PRIVILEGES ON DATABASE "discourse" to my_username;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO my_username;
\q