User:Jtraulle/DiscourseMigration
This page gathers info about Discourse migration.
Test
Tentative design
Custom logos
Main forum logo
Logo to use in email notifications and mobile view
Logo to use ... whatever
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>
// to be continued
Go to Admin → Customize → Themes → Light → Edit CSS/HTML → Common → Footer
and paste :
<div id="footer">
<span itemprop="name">Dolibarr ERP & 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
test ajout de ligne
./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
test liste
- numéro 1
- numéro 10
- numéro 11