En aquesta secció provarem de recopilar alguns dubtes amb resposta, mini-manuals, etc.
Consulteu les seccions inferiors:
En aquesta secció provarem de recopilar alguns dubtes amb resposta, mini-manuals, etc.
Consulteu les seccions inferiors:
1. Instal·lem Drush des d'un terminal, com a root, amb la comanda:
apt-get install drush
2 Actualitzem el Drush a la darrera versió:
drush dl drush --destination='/usr/share'
I ja està ;-)
Pd.: possiblement en un temps sortirà el paquet drush a wheezy-backports
Pd.: si voleu comprobar quina versió teniu instal·lada:
drush --version
Per començar cal dir que no hi ha una fòrmula universal, que sigui la millor per tothom (si no, ja no hi hauria un fitxer de configuració per personalitzar certs paràmtres). Les webs poden tenir usos molt diferents, que fa que hi hagi variables més o menys adequades. Per exemple, no és el mateix una web amb moltes connexions concentrades en breus periodes de temps, que si estan més distribuides. Ni connexions que entren i surten ràpidament (bots, consultes puntuals...) que connexions persistents (clients d'una botiga de comerç electrònic), etc.
La base de dades mysql, que drupal usa per defecte, te un fitxer per configurar alguns paràmetres: my.cnf que habitualment a linux es troba al directori de configuracions /etc/my.cnf
En aquest article provaré de recopilar algunes de les recomanacions i configuracions tipus que es poden trobar per Internet. Una bona idea és usar un dels arxius de configuració subministrats per mysql (els podeu trobar a /usr/share/mysql/) i anar variant els paràmetres segons el vostre context i els resultats que aneu observant. Us adjunto el fitxers.
Apunts previs:
Si estem interessats en registrar les consultes lentes o que no facin servir els índexos, activarem aquests dos paràmetres:
Aquests logs ens podran ajudar a optimitzar el codi, i si no podem fer-ho, a configurar paràmtres com el join_buffer_size, que ens ajuda a millorar el rendiment de consultes amb un join sense indexar.
Paràmetre | Valor, enllaçat a la font, i (any de publicació) | |||||
thread_cache_size | 40 (2002) | 32 (2005-10) | >16 (2006-10) | |||
max_connections | min (20 * webs_drupal) (2009) | |||||
key_buffer_size | mín. 16-32Mb (2006-10) | |||||
table_cache | a partir de 1024 per unes 200 taules (2006-10) | |||||
query_cache_size | 32 a 512M (2006-10) |
Teniu un VPS a OVH i voleu redirigir un domini allà? Les instruccions que he trobat no son massa clares, i hi ha versions diferents... Aquí està el que m'ha funcionat a mi ;-)
Este dominio está ya registrado y pertenece a otra persona.
Si usted es su propietario, puede sin embargo :
Eines:
Do you need work in web development but project has not registered an IP yet? If you are using Nginx, and your server hosts several websites (vhosts) a way to do it could be this:
Note: this howto runs in a linux / debian7 server, and a fictitious domain "mydomain.net"
listen *81;
service nginx reload
Then, you can get this web in this URL: MyServerIP:81 or MyServerDomain:81
Una de les opcions que es comenten per millorar la seguretat dels servidors és canviar el port que usa ssh per accedir-hi, i posar-ne un diferent al 1022. Podeu buscar informacio sobre si és una mesura efectiva o no. A la pràctica pot reduir molt l'impacte dels bots que van provant d'accedir-hi, tot i que eines com fail2ban eviten que una IP pugui fer més de 5 intents erronis.
Anem per feina, per canviar el port que usa ssh en una Debian 7 amb Ispconfig3, que és del que va aquest mini howto, cal fer dos passos:
El primer, obrir el port al firewall, en aquest cas Bastille (és el que ve per defecte a Ispconfig, però n'hi ha un segon... comproveu quin és el vostre cas).
1) Aneu al menú superior System del Ispconfig, i voreu que us mostra una opció, al menu lateral, anomenada Firewall.
2) Clicant sobre el vostre servidor, a la part central de la pantalla, podeu afegir un nou port TCP, que és que voleu usar en substitució del port per defecte, el 22.
Heu de tenir en compte que no podeu usar un port que ja estigui usant-se per un altre servei. Consulteu per internet com llistar els ports en us... I, a més, és millor que useu un dels ports per sota del 1023.
Guardeu els canvis i ja teniu el port obert al firewall.
3) El tercer pas és canviar el port, en aquest cas a openssh, que és el servidor ssh que usa Debian.
Treballarem com a root, no cal dir-ho.
Abans de res, farem un còpia del fitxer actual de configuració:
cp /etc/ssh/sshd_config /etc/sshd_config_anymesdia
4) Després editarem el fitxer, per exemple amb l'editor nano:
nano /etc/ssh/sshd_config
5) I, al començament del fitxer, trobarem la línia que defineix el port a usar:
# What ports, IPs and protocols we listen for
Port 22
Simplement canviarem el 22 pel port que volguem usar, i que abans hem obert al firewall.
6) El darrer pas és reiniciar el dimoni ssh:
service ssh restart
You have a server running a Debian 8 and Nginx, and now you want to install Munin to monitorize it... Here you are steps to achieve it.
Ensure that the system is up to date before you start to install Munin, run:
apt-get update
apt-get upgrade
Install Munin:
apt-get install munin munin-node munin-plugins-extra
Création d’un lien symbolique pour la partie serveur web
ln -s /var/cache/munin/www /var/www/munin
When the server is running MySQL or MariaDB, intall this dependency
apt-get install libcache-cache-perl
then enable the a few extra Munin plugins to monitor MySQL:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/mysql_ mysql_
ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes
ln -s /usr/share/munin/plugins/mysql_innodb mysql_innodb
ln -s /usr/share/munin/plugins/mysql_isam_space_ mysql_isam_space_
ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads mysql_threads
We protect munin access with a password:
htpasswd -c /etc/munin/munin-htpasswd admin
Now we should create an nginx site conf file:
nano /etc/nginx/conf.d/munin.conf
with a content like this, if you want to access it at yourdomain.tld/munin URL:
server {
listen 80;
server_name yourdomain.tld;
access_log /var/log/nginx/acces_munin.log;
error_log /var/log/nginx/error_munin.log;server_name_in_redirect off;
root /var/www;# Used to setup our munin subdirectory, and a password protection
location /munin/ {
#root /var/www/munin;
auth_basic "Administrator Login";
auth_basic_user_file /etc/munin/munin-htpasswd;
}location /munin/static/ {
alias /etc/munin/static/;
expires modified +1w;
}}
Finally we should restart nginx and munin services:
service nginx reload service minin-node restart
To enable aditional munin modules, please, see sources at the bottom of this post.
La idea és fer els canvis al servidor que permetin que totes les instal·lacions de drupal 8 tinguin resolt el problema de les URL netes.
Si heu instal·lat el panell de programari lliure IspConfig, ja tindreu el mod_rewrite de l'Apache activat. És un dels requisits. Llavors només heu d'editar el fitxer /etc/apache2/apache2.conf i afegir:
# Drupal 8: clean URL # https://www.drupal.org/getting-started/clean-urls#comment-8780263 <Directory /var/www/clients/*/*/web/> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] </Directory>
Fixeu-vos que al usar el comodí a la ruta de directoris: /var/www/clients/*/*/web/ ens servira per tots els projectes de web que volguem instal·lar al mateix servidor.
Després cal que reinicieu el servei de l'Apache, perquè els canvis de configuració tinguin efecte:
service apache2 restart
I ja està!
Requisits: cal que abans l'administrador del CiviCRM hagi creat com a mínim un perfil amb camps EXCLUSIVAMENT d'afiliació, i que el vostre usuari tingui els permisos per editar afiliats i usar perfils.
Per eliminar diversos contactes usarem la cerca avançada (menú Cerca > Cerca avançada).
Allà establirem els criteris que ens semblin adequats per filtrar els contactes que volem eliminar. Per exemple, si volem eliminar uns contactes que es van crear l'any anterior, usarem la pestanya "Registre de canvis" i al camp "Modificat entre" seleccionarem "L'any anterior". llavors ja podem executar la cerca amb el botó inferior "Cerca".
En principi obtindrem un llistat de contactes, en el que podem seleccionar els que realment volguem eliminar.
Un cop seleccionats, adalt, al desplegable "accions", seleccionarem "Esborra contactes" (els enviarà a la paperera, o sigui que podriem recuperar-los si haguessim detectat algun error) o "Eliminar permanentment" (si els volem esborrar per sempre, sense possibilitat de recuperar-los en un futur.
Si voleu insertar les comarques catalanes i relacionar-les amb les províncies, per a què surtin al camp d'adreça del CiviCRM, aquí teniu la consulta sql que us permetrà fer-ho en un plis!
INSERT INTO `c1civicrm4`.`civicrm_county` (
`id` ,
`name` ,
`abbreviation` ,
`state_province_id`
)
VALUES (
NULL , 'Alt Camp', 'AC', '2464')
, (NULL , 'Alt Empordà', 'AE', '2439')
, (NULL , 'Alt Penedès', 'AP', '2431')
, (NULL , 'Alt Urgell', 'AU', '2450')
, (NULL , 'Alta Ribagorça', 'AG', '2450')
, (NULL , 'Anoia', 'AI', '2431')
, (NULL , 'Bages', 'BG', '2431')
, (NULL , 'Baix Camp', 'BC', '2464')
, (NULL , 'Baix Ebre', 'BB', '2464')
, (NULL , 'Baix Empordà', 'BM', '2439')
, (NULL , 'Baix Llobregat', 'BT', '2431')
, (NULL , 'Baix Penedès', 'BP', '2464')
, (NULL , 'Barcelonès', 'BR', '2431')
, (NULL , 'Berguedà', 'BD', '2431')
, (NULL , 'Cerdanya', 'CD', '2439')
, (NULL , 'Conca de Barberà', 'CB', '2464')
, (NULL , 'Garraf', 'GF', '2431')
, (NULL , 'Garrigues', 'GG', '2450')
, (NULL , 'Garrotxa', 'GX', '2439')
, (NULL , 'Gironès', 'GN', '2439')
, (NULL , 'Maresme', 'MM', '2431')
, (NULL , 'Montsià', 'MT', '2464')
, (NULL , 'Noguera', 'NG', '2450')
, (NULL , 'Osona', 'OS', '2431')
, (NULL , 'Pallars Jussà', 'PJ', '2450')
, (NULL , 'Pallars Sobirà', 'PS', '2450')
, (NULL , 'Pla de l\'Estany', 'PE', '2439')
, (NULL , 'Pla d\'Urgell', 'PU', '2450')
, (NULL , 'Priorat', 'PR', '2464')
, (NULL , 'Ribera d\'Ebre', 'RE', '2464')
, (NULL , 'Ripollès', 'RI', '2439')
, (NULL , 'Segarra', 'SR', '2450')
, (NULL , 'Segrià', 'SI', '2450')
, (NULL , 'Selva', 'SV', '2439')
, (NULL , 'Solsonès', 'SL', '2450')
, (NULL , 'Tarragonès', 'TR', '2464')
, (NULL , 'Terra Alta', 'TT', '2464')
, (NULL , 'Urgell', 'UR', '2450')
, (NULL , 'Vall d\'Aran', 'VN', '2450')
, (NULL , 'Vallès Occidental', 'VC', '2431')
, (NULL , 'Vallès Oriental', 'VR', '2431')
;
Penseu que després heu de configurar els camps d'adreça per a què mostrin el camp comarca (county, en anglès).
La legislació europea obliga a fer que els mailings els enviem amb una opció perquè el receptor se'n pugui donar de baixa i no rebre'n més. A CiviCRM podem, amb una opció de configuració, fer que això no sigui un requisit (si ens volem saltar la legislació o estem sotmesos a la d'un país que no la tingui). Concretament, aquesta:
Desactiva la verificació d'etiquetes tokens obligatoris
No comproveu si hi ha presència de fitxes obligatòries (adreça de domini, anul·lar la subscripció / desactivació) abans d'enviar missatges. ADVERTÈNCIA: Les fitxes obligatòries són un salvaguarda que facilita el compliment de la Llei CAN-SPAM dels EUA. Només s'han de desactivar si la vostra organització adopta altres mecanismes de compliment o si la vostra organització no està sotmesa a CAN-SPAM.
Però en general és raonable que els destinataris dels nostres missatges es puguin donar de baixa, no? Per fer-ho possible només cal que afegim una de les dugues tokens que permeten donar-se de baixa o desubscriure's (en el primer cas diria que deixes de rebre qualsevol missatge del Mailing del CiviCRM i en el segon cas només d'aquell grup de mailing en qüestió.
Afegir els tokens és tan fàcil com, a l'editor de text del mailing, usar el botó d'inserir token. Aquestes captures il·lustrarien el procés:
A més de la cerca bàsica i l'avançada, CiviCRM te altres opcions de cerca, Cerques personalitzades, que es mostren, a la versió 4.60, aquí:
/civicrm/contact/search/custom/list?reset=1
Allà en trobem una, Cerca d'inclusió i exclusió, que és la que ens permetrà buscar tots els contactes EXCEPTE els que estiguin en un(s) grup(s), o etiquetes, determinats:
/civicrm/contact/search/custom?csid=4&reset=1
Bàsicament, si volem tots els contactes que no estan en un grup, triem aquest grup al camp de grups exclosos, i ja ho tenim!
Imagineu que voleu enviar, per mailing, un qüestionari o enquesta a contactes del vostre CRM (o a nous contactes que encara no tingueu al CRM)!
Al CiviCRM usarem la funcionalitat/eina de Peticions, i les respostes als qüestionaris en quedaran arxivades com activitats i per tant les trobarem arxivades a la pestanya d'activitats de cadascun dels contactes que l'hagin respost.
Anem a veure com es muta tot plegat, pas a pas.
Això ho podem fer al menú Campanyes > Nova Petició:
/admin.php?page=CiviCRM&q=civicrm%2Fpetition%2Fadd&reset=1
Totes les peticions les podrem veure a Campanyes > Panell de Control > Peticions:
/admin.php?page=CiviCRM&q=civicrm%2Fcampaign&reset=1&subPage=petition
Fixeu-vos que hi ha una eina semblant que es diu Enquestes, que semblaria que ens hauria de fer el fet, però en realitat serveix per fer enquestes en paper perquè es puguin omplir a peu de carrer. Aquí en teniu més info:
https://docs.civicrm.org/user/en/latest/survey/what-is-civisurvey/
Nota: En tot cas, aquí quan parlem d'enquestes ens referirem sempre a un formulari online que usarà la funcionalitat Petitions ;-)
Tornem a la nostra Petició, al formulari per crear-la trobarem uns quants camps. Els que son obligatoris son el Títol (nom) de la petició i el perfil de de contacte.
El perfil de contacte i el de l'activitat són els que contindran les preguntes o camps del formulari que hauran d'omplir els destinataris del nostre formulari.
De perfils de contacte el CiviCRM ens n'ofereix alguns ja creats pel sistema, amb els camps típics del contacte: nom, email, telf. etc. Podem crear-ne de nous per incloure altres camps o alterar els del sistema (això darrer no us ho recomano). Però el que heu de tenir clar és que aquest perfil inclourà camps genèrics, la "informació de contacte".
On tindrem la informació específica del qüestionari és al Perfil de l'activitat . Si per exemple estem fent un qüestionari de satisfacció d'una acció formativa entre els assistents, aquí posarem preguntes que en facin referència: "l'has trobat interessant?", "eren còmodes les butaques?"
En els següents passos crearem els camps personalitzats que tindrà el nostre Perfil d'activitat.
Abans de crear un perfil que agrupi una sèrie de preguntes, hem de crear aquestes preguntes! Hi ha camps que podem afegir i que ja estan creats, perquè son els camps estàndard que venen amb el CiviCRM o ja els hem creat anteriorment per altres finalitats; aquests també els podrem afegir, sempre que siguin camps relacionats amb activitats.
Bueno, per nous camps, els podem afegir un grup de camps personalitzats existents o crear-ne un de nou:
Administrar > Pantalles i dades personalitzades > Camps personalitzats:
/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fcustom%2Fgroup&reset=1
Naltros farem un nou conjunt de camps usant, en la pantalla anterior, el botó blau que serveix per això. Aquí teniu el camí per fer-ho directament:
/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fcustom%2Fgroup%2Fedit&action=add&reset=1
En aquest formulari, "Nou grup de camps personalitzats" hi ha uns quants camps obligatoris. El més important per fer una petició és de "Usat per" on haurem d'escollir l'opció "Activitats" i, en el quadre de subtipus que se'n obrirà a continuació, com a mínim triar l'opció "Signatura de petició"
Nota: si volem usar un grup de camps que ja havíem creat per una altra finalitat del tipus "Activitats" només cal que l'editem i li afegim la "signatura de peticions" a l'activitat que ja tenia seleccionada, clicant amb la tecla control del teclat, que és el que ens permet seleccionar diverses opcions alhora.
Un cop creat el grup de camps personalitzats el trobarem a la pantalla que agrupa tots aquests "grups de camps personalitzats" que us he comentat adalt:
/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fcustom%2Fgroup&reset=1
Per afegir camps / preguntes, només cal que usem l'opció de veure i editar camps personalitzats del grup de camps que acabem de crear.
Voreu que podeu afegir molts tipus de preguntes: si/no (boleanes), de text (alfanumèrica), de data, etc. Podeu crear tantes preguntes/camps com volgueu.
Al pas inicial, quan creàvem la petició, ens demanava un "perfil de l'activitat", que, com que no teniem encara, l'hem deixat en blanc. Anem doncs a crear-lo. Ho farem aquí:
Administrar > Pantalles i dades personalitzades > Perfils
/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fuf%2Fgroup&reset=1
En aquesta pantalla trobarem el llistat de tots els perfils que ja hem creat, i en podrem crear un de nou amb el botó "Afegir Perfil":
/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fuf%2Fgroup%2Fadd&action=add&reset=1
Un cop creat, el vorem al llistat de perfils disponibles:
/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fuf%2Fgroup&reset=1
i a la taula trobarem l'opció "camps", que ens permetrà incloure camps en aquest perfil.
Nota: els camps específics de la nostra activitat que havíem creat al pas anterior ("creació de les preguntes") els trobarem quan al "nom del camp" triem "Activitat", perquè llavors se'ns desplegarà un desplegable amb els camps del tipus activitat que havíem creat abans.
Un cop tinguem poblat el perfil amb els camps que ens calguin, només hem de tornar a la nostra petició:
/admin.php?page=CiviCRM&q=civicrm%2Fcampaign&reset=1&subPage=petition
editar-la, i definir que el perfil d'activitat d'aquesta petició és el que acabem de crear.
Si per alguna raó sospitem que una part dels destinataris no han rebut el mail (perquè el seu sistema de correu l'ha filtrat com a spam, etc.) o simplement volem reenviar un butlletí als usuaris dels que no tenim constància que l'hagin obert, podem fer un subgrup de contactes i reenviar el mailing només a aquest subgrup. Anem a veure com ho podem fer:
Versió de CiviCRM: 4.6.18
Quan usem la cerca avançada i volem filtrar els nostres contactes per un camp boleà, seleccionant els contactes que NO tenen marxada l'opció (és a dir, que tenen el camp en blanc), no podem fer-ho (només podem fer cerques "positives", pels contactes que si han marcat l'opció.
Per solventar-ho podem seguir diverses estratègies, de cerques personalitzades (civicrm/contact/search/custom/list?reset=1) o usant el constructor de cerques. En aquest cas usarem una de les cerques personalitzades, la d'Incloure / excloure (civicrm/contact/search/custom?csid=4&reset=1) que ens permet incloure contactes de grups i excloure contactes d'altres grups.
1. El primer pas serà fer un grup intel·ligent amb tots els contactes que han marcat l'opció boleana, que de fet son els que voldrem excloure més endavant. Això ho farem amb una simple cerca avançada.
2. El resultat d'aquesta cerca avançada l'usarem per crear un grup intel·ligent nou (seleccionarem tots els contactes i usarem l'acció definida per crear grups intel·ligents nous).
3. Ara tornem a la nostra cerca personalitzada d'incloure i excloure i definim com a grup a incloure el grup general que ens interessi (si no el tinguéssim creat prèviament, caldria fer-ho... pot ser, fins i tot, un grup amb tots els contactes). Com a grup a excloure utilitzem el grup que hem creat en el pas anterior...
4. Si, a més a més, volem tenir aquest subconjunt de contactes disponible, només hem de seleccionar tots els contactes i usar l'opció de crear grup intel·ligent nou. Recordeu que els grups intel·ligent es van actualitzant automàticament segons canviïn els paràmetres dels contactes.
A les cerques del CiviCRM podem usar dos tipus de comodins:
Els missatges retornats (rebotats / bounces) es classifiquen segons el tipus de rebot. I segons quin sigui, quan superin un llindar ( https://wiki.civicrm.org/confluence/display/CRMDOC/Bounce+Handling ) aquella adreça de correu es posarà "on hold", el que significa que no se li enviaran més missatges. És una manera de purgar les adreces incorrectes i evitar que els servidors ens afegeixen a llistes negres (en veure que enviem molts missatges a adreces inexistents)-
Si volem veure quines adreces-e estan bloquejades, podem fer una cerca avançada marcant el paràmetre "Correu electrònic bloquejat".
Per veure els missatges que han rebotat, podem consultar-los a Informes > Informes de mailing > Mail Bounces (civicrm/report/instance/30?reset=1). També es poden consultar per un mailing concret, usant l'acció "Informe"
.
Un cop al vostre compte de gmail, aneu a l'icona de la cantonada superior dreta en forma de rosca i, clicant-la, seleccioneu l'opció "Configuració"
A la finestra que s'us ha obert, cliqueu el menú "Comptes i importació"
Llavors useu l'opció "Afegeix un compte de correu POP3 meu"
S'us obrirà una finestra a on, en una sèrie de passos us demanarà:
La següent pantalla us demanarà si voleu enviar missatges amb l'adreça que acabeu de configurar... Si ho voleu fer, a la pantalla següent, desmarqueu l'opció "Ho tracta com un àlies"
A la següent finestra, seleccioneu l'opció "Envia mitjançant Gmail (configuració més fàcil)"
I a la següent, "Envia una verificació" i posteriorment haureu d'introduir el codi de verificació que haureu rebut a la vostra adreça o bé simplement clicar l'enllaç del missatge de verificació.
Us volia recordar, i recomanar, que useu connexions segures per connectar-vos als vostres comptes de correu-e.
Si ho feu via web, recordeu que ho podeu fer a través de la URL: https://ELVOSTREDOMINI/webmail (per exemple: https://calbasi.net/webmail )
Per aquest mitjà les vostres connexions sempre seran segures (usaran el https al navegador, el protocol encriptat de http, que és el normal de les connexions via web). Però heu de tenir la precaució, si useu un ordinador que no és el vostre, o a on accedeixen més usuaris, de no usar l'opció de "recordar la contrasenya" del vostre navegador ;-)
Si llegiu el vostre correu usant un client com el thunderbird, l'outlook, etc. llavors, als paràmetres de configuració del compte, podeu usar l'opció de connexió segura. Al thunderbird (v 3.0), per exemple, es configura des del menú "Edita > Paràmetres del compte" i, un cop en aquesta secció, heu d'anar a cadascun dels comptes que tingueu configurats, i buscar l'opció "Paràmetres del servidor".
Allà, si la vostra web està hostatjada a calbasi.net i useu el nostre servidor també com a servidor de correu, he de completar els següents apartats:
Després també haureu de configurar el servidor de sortida, que seria server.calbasi.net i el port SMTP: 465
Amb això el que fem és encriptar la informació que circula entre el nostre servidor de correu i el nostre ordinador (client), entre elles, la nostra contrasenya, evitant així que algú altra la pugui obtenir "esnifant-la" de la xarxa...
En casos de seguretat reforçada podem necessitar encriptar els nostres missatges cap al seu destinatari, de manera que només ell pugui veure'n el contingut... Això s'aconsegueix amb les claus pgp, però serà matèria d'un altre post ;-)
People uses free mail services like gmail or hotmail to manage their personal mail stuff. But, what i f you need a mail service for your company? Multiple accounts, own domain, pop3/imap, pgp encription, etc?
There are some alternatives, with their pros/cons. Have a look to them here:
Si voleu crear un missatge de resposta automàtica cada cop que algú us envii un missatge, avisant-lo que sou de vacances, que l'empresa estarà tancada per vacances / manteniment o, simplement, agraint que un usuari us hagi contactat i donant-li unes instruccions bàsiques, comentant-li que de seguida el contactareu, etc. podeu usar els "autoresponders", que és una funcionalitat antiga del correu-e.
Per fer-ho a CPanel, hem d'entrar al nostre correu via web, posant al navegador algo semblant a això:
https://elnostredomini/webmail (per exemple: https://calbasi.net/webmail)
Llavors , al menú superior dreta, trobareu un menú desplegable, amb el nom de la vostra adreça-e, i una de les opcions desplegades és "Autoresponders".
A la següent pantalla només cal que afegiu una nova resposta automàtica amb l'opció "Add Autoresponder"
Per finalitzar, la tercera pantalla, de configuració de la resposta automàtica te algunes opcions interessants:
I ja està!
Pd.: un problema que podeu trobar, si rebeu molt spam, és que envieu molts missatges a adreces inexistents, que el servidor pot interpretar com que valtros esteu enviant spam (CPanel te sistemes de "defensa" davant de possibles virus o hackejos del servidor per spammers, i no permet enviar més de, posem per cas, un 20% de missatges a adreces errònies cada hora, sense pensar que algo no rutlla...). Si esteu de vacances és possible que no us afecti, però ho faria si, mentre, esteu treballant (rollo workation) i poguessiu patir bloquejos temporals del vostre compte de correu.
(aquestes instruccions son vàlides, com a mínim, si teniu un compte de correu gestionat a CPanel 56.0.27, i probablement amb moltes altres versions de CPanel)
If we are trying to read webmail from our web browser, Firefox here (by default, using a secure connection, https ), we must accept some security warnings before we can log in. Let's see them.
1. In the address bar of your browser (not at search bar!!!) type: yourdomain.tpl/webmail (for example, calbasi.net/webmail
2. You get this screen:
You should choose "Understand the Risks" (remember, is YOUR domain ;-) Yes, you have not pay for a third part certification!
3. Then, you must "Add exception"
4. And you get this screen:
You must choose "Confirm Security Exception"
5. After it, at last, you get the login screen:
Enter your email address at "User Name" field, and password, and you get in your webmail client!!
Voldria saber com es diuen els complements de Firefox que fem servir al curs de Drupal. En una instal·lació neta no hi surten.
Si necessiteu usar un client d'FTP per carregar o descarregar fitxers a un servidor, una opció senzilla és l'extensió de Firefox anomenada fireftp. Anem a explicar què cal fer per començar a usar-lo.
Aquesta extensió de Firefox et pot ser útil per treballar amb diferents rols a la web, sense canviar de navegador:
Us permet, sense estar contínuament entrant i sortint amb usuaris diferents, veure la web com la veuen diferents rols d'usuaris, simplement canviant de pestanya.
Avui en dia, bona part de la RAM del nostre ordinador se la mengen les pestanyes que anem obrint mentre treballem (si és que acostumem a treballar amb pestanyes). Bé, de vegades tens l'ordinador a punt de colapsar, o has de canviar de tasca, i totes les pestanyes que tenies obertes per l'anterior tasca et fan nosa, però no les vols perdre ni anar rebuscant després per l'historial. Sol·lució?
L'extensió OneTab per Firefox: https://addons.mozilla.org/en-US/firefox/addon/onetab/
Simplement, amb un clic, se'n van totes a l'"armari" :-p I quan les volguem recuperar, les tindrem agrupades (les que vam enviar fa 5 minuts, les que vam enviar a OneTab ahir al migdia), i le spodrem recuperar totes de cop o d'una en una...
More tabs open, more RAM used by your computer. It's a serious performance issue.
A smart way to solve it is to snooze tabs for a while, or even for some weeks. A nice Firefox addon to do it:
Sovint, però, els clients afegeixen contingut a la web usant camps de text amb el suport d'editors visuals. Si la informació a introduir és senzilla i estandaritzable, simplement se'ls pot donar l'opció d'usar unes (poques" opcions de format (negretes, llistes d'elements, etc.), però de vegades els editors han de poder composar el text, adjuntant imatges, etc. En aquests casos, ens podem trobar que els editors trenquen els criteris dels dissenyadors / desenvolupadors.
1) L'etiqueta <div> serveix per delimitar bocs en HTML. La usarem en substitució de les cel·les de la taula... Per tant el que correspondria a una cel·la, anirà delimitat per <div>contingut de la cel·la</div>. Però com que es traqcta de fer-ho per usuaris sense coneixements de codi, des d'un editor visual, en aquest cas Ckeditor, i els blocs DIV no es visualitzen en ell, usarem un botó de l'editor que ens permetrà visualitzar-los:
Si no tenim cap DIV, el podem crear, al desplegable de format, canviant l'opció de "Normal" per "Normal (DIV)".
2) Llavors, en cada DIV (bloc) podem clicar amb el botó dret del ratolí, triar l'opció "edita DIV" i introduir-li els estils que volguem que tingui.
Perquè això funcioni els DIV han d'estar englobats dins d'algun altre element, per exemple un altre DIV (sembla un bug del Ckeditor). El més senzill és que cliqueu el botó de "Codi font" i escriviu aquest codi:
<div><div>text de prova</div></div>
Llavors ja podrem usar el botó dret per mostrar les propietats dels DIV.
3) A la finestreta que ens haurà sortit:
seleccionem la pestanya "avançat" i, a la línia d'estil, podem posar els estils (CSS) que ens facin el fet. En aquest cas, per tenir blocs de 400px d'ample, que s'apilin a l'esquerra, i quan no tinguin espai, baixin abaix (el que permet que en una finestra d'un mòbil els veiem un a sota de l'altre, sense necessitat d'usar la barra de desplaçament lateral, expressament prohibida pels manaments de la llei pastafari):
Voleu veure com queda?
http://www.enginyerscivils.cat/ca/Area-Restringida
En aquest esborrany només vull comentar alguns aspectes relacionats amb una còpia de seguretat d'una web.
Per començar, anem a exposar els riscos, que poden derivar en la pèrdua de la informació més recent de la web o, fins i tot, de la web sencera.
Riscos:
Per evitar mals majors (la pèrdua total de la web, i per tant de la inversió que hem fet) podem prendre una sèrie de mesures preventives... Anem a veure algunes d'elles, o alguns enfocs... Amb temps i una canya aniré completant aquesta informació :-)
Per començar, la primera recomanació, utilitza software lliure... Tria un tècnic / empresa que treballi amb software lliure, i que sigui transparent. La idea és que sàpigues quin software estàs usant... Drupal, Wordpress, Joomla... Només aquests tres engloven la major part de les webs que veiem... Per webs molt complexes o requisits molt específics podria ser apropiat l'ús d'algun framework (que sigui també de software lliure ;-) ), però és un cas molt minoritàri...
Que trobem a l'altra cara de la moneda? Serveis "tancats" que ofereixen webs boi sense cost, però amb un lloguer mensual (en el model anterior pagues la web de cop, al començament, i llestos...). Son sistemes opacs a on no sabrem quin gestor de continguts s'ha utilitzat, i estem lligats de mans i peus a l'empresa que ens l'ofereix. Si aquesta empresa se'n va a l'aigua, o no fa bé la seva feina, no podrem portar la SEVA web a un altre empresa o professional, com si que podem fer amb una web de drupal, SI TENIM UNA CÒPIA DE SEGURETAT.
Normalment el nostre servidor farà còpies de seguretat, però en general només tenen unes setmanes d'antiguitat i es desen per defecte en els sistemes de la mateixa empresa: això no evita que, si aquesta empresa desapareix, o fins i tot si el disc dur a on estan emmagatzemades les còpies de seguretat, si és el mateix que a on hi ha l'original, poguem perdre tota la informació. CAL FER CÒPIES DE SEGURETAT EN UN ALTRE EMPLAÇAMENT, AL QUE TINGUEM ACCÉS NOSALTRES, DE MANERA INDEPENDENT DEL PROVEÏDOR WEB / SERVIDOR.
A drupal, com a molts altres gestors de continguts, les webs tenen la informació dividida entre la base de dades i els fitxers de codi. També podriem parlar dels fitxers de configuració del servidor, però això ja seria filar massa prim. Per tant hem de fer còpia de seguretat de tots dos blocs...
Hi ha serveis comercials que ofereixen l'opció de guardar còpies de servidors concrets, d'aquestes empreses, a la que tindrem accés naltros. Possiblement son una bona opció, però depén de per a qui, massa cara...
Una altra opció és que ens descarreguem la còpia de seguretat al nostre ordinador personal / al servidor de l'empresa.
Per fer-ho, caldria tenir en compte que, si volem garantir la privacitat de les dades que ens descarreguem al nostre ordinador, ho hauriem de fer usant una connexió segura (per exemple, sftp)
Un altre apunt de les còpies de seguretat: la política de retenció. Política de retenció vol dir quines còpies conservo: no és recomanable guardar només la darrera còpia de seguretat, o les de les darreres setmanes, posem per cas.
Per què?
Imaginem que hem introduit un error a la web, que no hem detectat fins que han passat uns mesos, però que ha esborrat part del contingut que no s'havia d'esborrar/alterar. O que la BBDD se'ns ha corromput: la web funciona, però pot fer difícil/molt costós el recarregar la còpia en un escenari de, per exemple, actualització del servidor. Si només guardem les còpies del darrer més, no podrem rescatar la informació perduda.
Una política de retenció vàlida, al meu entendre, per moltes webs amb pocs canvis, seria el conservar una còpia de cada més dels darrers 12 mesos, i només una per any dels anys precedents. En una web de fa 5 anys, per exemple, com a màxim tindriem 16-17 còpies guardades...
Si teniu una web en drupal, aquí podeu consultar el nostre servei de còpies de seguretat: http://www.calbasi.net/web/copia-seguretat
Si el vostre gestor web ha instal·lat el mòdul Backup and Migrate i ha configurat els permisos adequadament per a què pogueu fer còpies de seguretat manuals (diferents a les periòdiques, que es guarden al servidor, perquè les manuals les podeu descarregar al vostre disc dur), els passos per fer una còpia son els següents:
Així de senzill ;-)
Pd.: amb la còpia de la BBDD teniu el més important, però per restablir el sistema us caldria també tenir la còpia dels fitxers... La major part d'ells son els fitxers estàndard de Drupal i els seus mòduls, que podrieu descarregar d'internet, però hi ha alguns fitxers que no us podrieu inventar, en restaurar el sistema, com els fitxers pujats a la web des dels camps de fitxer pels usuaris, la configuració dels estils (aspecte), si l'heu personalitzat, etc. Així que per complementar la còpia de la BBDD també us caldria una còpia del directori "sites" de la web.
Hi,
I want to offer my customers the option of backup their drupal locally. I developed a system based in Backup and Migrate module and some work at server side... I'd like to share with you my work, to receive your feedback, opinions, improvements... if you think it could be useful ;-)
Schedule suggestion: weekly and 3 month copies, keeping last 12 in both categories.
Thus, we are going to keep copies from last 3 years.
- user: web_backup
- password: (your choice)
- Directory: DRUPAL_BASE_DIRECTORY/web_backup
- quote: your choice (ex 200MB)
At server DRUPAL_BASE_DIRECTORY, as root:
# chmod 700 web_backup
# nano web_backup_info.txt
Put here any useful info and save the file
# nano web_backup.sh
And, there:
Drupal_Path="/home/calbasi/www/web"
tar cf $Drupal_Path"/web_backup/web_backup_sites.tar" $Drupal_Path"/sites/default/settings.php"
gzip -f $Drupal_Path"/web_backup/web_backup_sites.tar"
_now=$(date +"%Y_%m_%d")
cat $Drupal_Path"/web_backup_info.txt" > $Drupal_Path"/web_backup/LastBackupDate_$_now.txt"
mail -s "EMAIL_SUBJECT" "EMAIL_TO_ADDRESS" <<EOF
EMAIL_BODY (IN SEVERAL LINES)
...
EOF
Then, we add a cron task:
# crontab -e
There, insert a line like this:
0 4 23 * * DRUPAL_BASE_DIRECTORY/web_backup.sh
In the example, you get a backup monthly, the 23th day, at 04:00
Amb això ja tenim un mapa amb els nostres punts / marcadors.
Alternativament, a drupal, amb el mòdul geocoder, geofield i addressfield és fàcil transformar adreces en coordenades. Però per importar el fitxer cvs cal usar algun mòdul d'importació primer. Després, amb openlayers, es pot mostrar la info de forma molt flexible.
Si hem obtingut un fitxer kml pel procés descrit amunt, també podem incorporar-ho a l'openlayes com una capa.
El mòdul External Links de Drupal serveix per dugues coses:
Per que es pugui configurar el comportament a seguir amb els enllaços externs de la nostra web (si s'obren en la finestra actual del navegador, amb el que el visitant "perd" la nostra web) o si s'obren en una nova finestra (el que jo trobo en general més interessant i només te una pega, que alguns navegadors utilitzen sistemes per evitar aquest comportament en webs que l'usen per obrir finestres d'spam)
Perquè els enllaços externs i/o els enllaços "mailto" per enviar missatges, vagin acompanyats d'una icona indicativa.
He creat una llista de correu electrònic sobre drupal en català. La podeu trobar aquí:
http://calbasi.net/mailman/listinfo/drupalcat_calbasi.net
La podeu usar per sol·licitar ajuda, resoldre dubtes, etc.
Per veure (destacar) un element a la portada, un cop esteu a la pestanya d'edició del node/pàgina en qüestió, heu d'anar a "Opcions de publicació", abaix de tot del formulari d'edició, i seleccionar "Promogut a la portada".
Drupal 6 va deixar de tenir suport de seguretat des que la versió 8 de drupal va estrenar-se, pels vols del novembre de 2015. Malgrat que hi ha un suport limitat, en part comercial, en part lliure, dut a terme per un grapat d'empreses, el recomanable és migrar les velles velles a drupal 8, i aprofitar totes les millors que aquest incorpora, a més de, sobretot, protegir la nostra web i, de retruc, el servidor.
Si volem accedir a les funcionalitats "Fusion" del tema Acquia Slate haurem d'instal·lar la versió beta 3, i el mòdul Skinr en la versió 2, que encara està en desenvolupament. L'Skinr, al seu torn, en semanarà que instal·lem
Per activar l'Skinr UI, caldrà tenir instal·lats, al seu torn 4 mòduls més: Chaos Tools, Dialog API, jQuery Update i jQuery UI.
Un cop ho tenim tot activat, hem d'anar a /admin/build/skinr/rules i crear una regla nova. I, a la part intermitja, quan faci referència a l'Acquia Slate, triar un "Acquia Slate - Banner Styles" entre un dels pre-definits...
Però com que probablement volem tenir la nostra pròpia imatge, hem de fer alguns passos més.
L'opció senzilla, que se'ns sobreescriuria cada cop que actualitzem el Acquia Slate, seria canviar alguna de les imatges al servidor ( themes/acquia_slate/images/banner),
L'altra seria editar el fitxer themes/acquia_slate/css/local.css (el podem fer a partir del local_sample.css) i també afegir una opció editant el fitxer .info de la carpeta del tema...
Llavors ja només ens queda activar algun bloc a l'àrea "Preface top".
Referències:
Requisits:
Drupal 6.x
CKeditor
IMCE
Quan creeu, o editeu, un post, per inserir una imatge en el text (no com a adjunt, que seria una altra cosa), cal que, un cop dins de l'àrea d'edició de l'editor CKeditor:
Cliqueu la icona "Imatge"
Al camp URL, cliqueu l'opció "veure servidor" (o poseu una adreça d'una imatge que ja estigui openjada a Internet)
Al navegador de fitxers que s'us obre (IMCE), cliqueu l'opció "Puja"
Busqueu la imatge al vostre disc dur amb el botó "Navega" o similar
Recordeu que les imatges que penjeu per visualitzar a una web haurien de ser lleugeres, això és, com a molt, 300kb
Cliqueu el botó "Puja", per posar-la al servidor (amb això haureu pujat una imatge des del vostre disc dur fins al servidor)
Amb la imatge seleccionada, cliqueu l'opció "Send to ckeditor" (amb això li estem dient al programa que és aquesta la imatge que volem posar a la pàgina)
Ompliu les opcions d'amplada, alçada, espaiats, enllaços, etc. que volgueu, i cliqueu el botó "D'acord"
Si volem penjar videos que estiguin en servidors públics com youtube, vimeo, etc. però que tinguin una presentació professional dintre de la nostra pròpia web en drupal, podem usar el mòdul lightbox, per obtenir un resultat semblant a això:
Un cop instal·lat el mòdul lightbox, hem d'activar el suport per video (desactivat per defecte, per estalviar javascript). És l'opció "Enable video support" que trobarem a /admin/settings/lightbox2 (subsecció "video settings").
Després ja només hem d'usar el següent codi:
<a href="adreça_del_nostre_video" rel="lightvideo[][]"><img src="adreça_de_la_nostra_imatge" /></a>
La imatge fixa que farà d'enllaç amb el video la podem obtenir amb la tecla "ImprPant" de l'ordinador.
Per mostrar el preu de la variació al costat del nom de la varió en el formulari "Add to Cart": /admin/commerce/config/order-item-types/default/edit/form-display/add_to_cart (és una de les opcions del camp "Purchased entity")
Add this line at <body{{ attributes.addClass(classes,:
node_type ? 'page-node-type-' ~ node_type|clean_class
For example:
<body{{ attributes.addClass(classes,
not is_front ? 'with-subnav',
sidebar_first ? 'sidebar-first',
sidebar_second ? 'sidebar-second',
(sidebar_first and not sidebar_second) or (sidebar_second and not sidebar_first) ? 'one-sidebar',
(sidebar_first and sidebar_second) ? 'two-sidebars',
(not sidebar_first and not sidebar_second) ? 'no-sidebar',
node_type ? 'page-node-type-' ~ node_type|clean_class
) }}>
Method 2: Try node_type_class module
Per crear un alies només heu d'editar un node i, al peu, trobareu l'apartat "Paràmetres del camí URL", a on podeu posar un alies com "qui-som", "empresa", etc. per evitar les URL com "node/155". D'aquesta millora millorareu el SEO i fareu que la pàgina sigui més fàcil de recordar si heu de donar o reenviar l'adreça.
Si no trobeu aquest apartat, és possible que el vostre usuari no tingui permisos per a fer-ho: contacteu amb el vostre gestor de la web.
Pd.: hi ha pàgines que no es generen creant nodes, sinó amb vistes, etc. Els alies d'aquestes pàgines es gestionen d'una altra manera, que en general és més complexa i fa el gestor de la web.
Com a consell, mireu de no posar caràcters no anglesos (vocals accentuades, ce trencada...) ni espais en blanc. Aquests últims els podeu substituir per guions.
Aquí teniu la captura:
In drupal 7 there are some modules to do it, including ctools, but at present, none of them have stable or even an alpha version.
But with long standing and wonderful superfish module we can achieve it!
Just install it and place your menu superfish type block (at /admin/structure/block) at your desired region. Then, at block config options go to sf-Smallscreen settings and:
If you choose second option, you get a jump menu always, not depending of screen width...
That's all!
Ps: it's possible get an accordion menu just using "Convert the menu to an accordion menu" instead of "Convert the menu to a <select> element."
Versió Moodle: 3.4.x
Si ens ha agradat un tema (plantilla) de Moodle, diferent a les que porta per defecte, i després d'instal·lar-la volem configurar-lai anar veient com queden els canvis hem de recordar de desactivar la catxè (memòria), que fa que Moodle vagi més ràpid, perquè usa una còpia de certes parts, com els estils CSS, el javascript, les imatges... i no les renova cada cop que algú fa un clic a la pàgina, sinó molt de tant en tant. Per tant, si la tinguessim activada, fariem un canvi a la configuració del nostre nou tema, i no el voriem reflexat a la web fins després d'un temps (i això no ens interessa quan estem valorant si tal o qual canvi "quedaq bé", oi? Així doncs, anem a aprendre com podem desactivar la catxè MENTRE treballem en la configuració del tema.
A la ruta: /admin/settings.php?section=themesettings
trobarem aquesta opció:
IMPORTANT: hem de recordar de desactivar aquesta opció (és a dir, d'activar la catxè) quan acabem aquestes tasques, perquè lla web anirà molt més lenta mentre la tinguem activada.
De fet, si no ens podem permetre que la web vagi tant lenta perquè treballem en una versió en producció amb usuaris fent-la servir, tenim l'alternativa de deixar aquesta opció desactivada, i simplement, tal i com ens diu el text de la imatge anterior, "netejar" la catxè puntualment, després de fer un canvi a la configuració del tema que volguem provar. Això ho farem des de la ruta: /theme/index.php
Dugues notes adicionals:
- per fer tot això heu de tenir permisos d'Administrador
- tingueu en compte que, depenent de la configuració del vostre navegador, a part de la catxè del servidor, la seva catxè, que depèn del vostre ordinador (navegador) pot afectar a l'actualització/visualització dels canvis. En general és millor, quan es treballa en el desenvolupament dels estils de la web, desactivar la catxè del vostre navegador, posant-la a zero a Firefox o usant una extensió com Classic Cache Killer a Chrome.
Versió de moodle: 3.3
1) Primer cal establir que la pàgina per defecte dels usuaris després d'identificar-se sigui la frontpage i no el dashboard.:
/admin/settings.php?section=navigation (és la primer opció que trobem aquí)
Això fa que els alumnes no vagin al seu dashboard, que amb la versió 3.3 s'ha redissenyat:
- https://docs.moodle.org/33/en/Dashboard
- https://docs.moodle.org/33/en/Course_overview
2) Llavors hem de definir quins blocs volem que es vegin a la frontpage PER USUARIS IDENTIFICATS:
/admin/settings.php?section=frontpagesettings
Fixa't que pots definir quins blocs es veuen a la portada tant per usuaris anònims com identificats. Hi ha un bloc de buscar cursos, un d'anuncis (si uses el fòrum per fer anuncis sobre la plataforma, novetats, etc.)
3) Per cert, en aquesta pàgina pots definir quants cursos pots veure amb format "xulo":
/admin/settings.php?section=coursecontact , concretament el paràmetre "Courses with summaries limit" fa que, superat aquest límit, els cursos es vegin com un llistat de títols.
Pd.: els sumaris/resum agafen automàticament imatges associades al curs... També mostren el resum que podem establir en la pàgina d'administració del curs:
/course/edit.php?id=1 (a on 1 és el núm del curs que volguem editar).
Un cop al curs que volem clonar, usem el menú "Mes > Reutilització del curs"
Això ens portarà a una pàgina per importar un curs (una URL semblant a .../backup/import.php?id=93 ), opció que no ens interessa, però a la part superior trobarem un menú desplegable amb altres opcions, on podem seleccionar la de "Copia el curs"
URL semblant a .../backup/copy.php?id=93
Llavors només hem d'anar triant les opcions que ens interessin a les següents pantalles/apssos del procés de còpia
Per fer-ho hem de tenir els permisos d'edició del curs en qüestió
Once at your Moodle base folder, just:
/usr/bin/php admin/cli/maintenance.php --enable
git pull
/usr/bin/php admin/cli/maintenance.php --disable
Log in to the site, as administrator, and follow the web steps to update database, etc.
Si volem adjuntar un o més arxius a una campanya de mailchimp, ho podem fer creant un enllaç, tant de fitxers que tinguem en una ubicacio externa (Drive, Dropbox, la nostra web...) com si volem usar el sistema que mailchimp te integrat, i que serà l'opcio més senzilla.
Anem a veure com podem fer-ho...
I aixo és tot!
Les estadístiques de les campanyes, que tenen en compte els clics als enllaços, ens informarà de quants cops l'han clicat, etc.
Here you are some basic guidelines to insert images on the web.
A main goal is get less size files as possible
You must remember you don't need a big image. Don't need very hight resolution because images print in screen, not in paper (in this cas, you need it). Thinsk about screen size and you get the answer to the question of "which is the best size?". If screens have 1200 or 1600px, you don't need more... Even, you usually don't use a image to cover all the screen, do you? Then with, for example, 800px by side, you usually get a proper image.
Ps: remeber, a lot of image viewers don't show images in a 1:1 scale. Check it when open files in your viewer...
Usually, web images have between 15-100kb. That's ok. A 600kb image is not suitable. You want your web load quickly!
You can use the free, opensource and multiplatform Gimp. It's a wonderfull program, with similar features than photoshop (almost for 99% of users). It's a complex program, but the crop and resize options are easy. You can also covert to alfa (make transparent) a part of the image.
If you use linux an easy way to resize an image is using nautilus addons, for example. As simple as using a mouse right clic option when you are browsing your image directory :-)
for file in *.ttf; do sfnt2woff $file; done
chmod a+x otf2woff.sh
./otf2woff.sh
Ps: Two sample script files attached here ;-)
Adjunt | Mida |
---|---|
otf to woff batch bash script (44 bytes) | 44 bytes |
ttf to woff batch bash script (44 bytes) | 44 bytes |
Nota: Si volem sol·licitar una nova contrasenya, a la portada trobarem un enllaç per fer-ho (o podeu afegir això a la URL del vostre (sub)domini: /user/passwordforgotten.php )