Manual de usuario del módulo NotePlus
12 minutos de lectura

Este módulo amplía la función nativa de notas en Dolibarr permitiendo agregar notas ilimitadas y altamente seguras a casi cualquier elemento del ERP, con cifrado AES de 256 bits y claves personales o compartidas, gestión de contraseñas mediante PBKDF2 y compatibilidad multi-company.

Notas ilimitadas para cada elemento
- Puedes agregar ilimitadas notas a cada elemento.
- Cada una con su título y contenido.
- El sistema recordará la fecha y el usuario que hizo la última modificación:

Elementos que admiten notas de NotePlus
- Verás la pestaña "Note+" en estos elementos de Dolibarr: Productos, servicios, clientes, proveedores, contactos, miembros, usuarios, proyectos, contratos, cotizaciones, pedidos de cliente, pedidos a proveedor, facturas a clientes, facturas de proveedor, eventos de calendario, "Bill of Materials" (listas de materiales, órdenes de manufactura, workstations, tickets.
- Algunos de los anteriores incluso no tienen la opción nativa de Dolibarr de agregar una "Nota Privada" y una "Nota pública", como por ejemplo los eventos de la Agenda:

Uso de formato Markdown
En las notas no encriptadas te será muy útil usar el "sencillo formato Markdown" para que tus notas sean mucho más legibles y puedan incluir elementos como tablas, enlaces, imágenes, listas numeradas, negritas, etc.

Al final de este artículo hay una GUÍA RÁPIDA DE MARKDOWN.
Notas encriptadas, opcionalmente
- Opcionalmente puedes encriptar el contenido de las notas.
- Para ello el módulo genera una clave aleatoria de 256bits.
- El sistema solicita al usuario una "clave de desbloqueo".
- Esta clave no se guarda en la base de datos.
- Así que si se pierde/olvida perderás el acceso a los datos cifrados.
- Agregar notas encriptadas es muy sencillo:

- Para acceder al contenido de una nota encriptada tan solo es necesario conocer la clave de desbloqueo:

Claves personales vs. claves compartidas
- Cada usuario puede crear tantas claves de encriptación como necesite.
- Pero también puede crear claves para compartir.
- Las notas encriptadas con claves personales solo serán desencriptables por el usuario que las creó, mientras que las encriptadas con claves compartidas están al acceso de cualquiera que conozca la clave.
- Cada usuario gestiona sus propias claves:

Consideraciones de notas compartidas:
- Cuando un usuario marca una clave creada por él como COMPARTIDA entonces otros usuarios pueden usarla para crear notas encriptadas, usando siempre la misma clave de desbloqueo. De este modo se puede tener información encriptada por diferentes equipos de la empresa.
- El usuario que creó esa clave es el único que puede modificarla o eliminarla (!!).
Consideraciones técnicas
Guardado robusto de las claves de cifrado
- Las claves de cifrado de las notas son de 256 bits (64 carácteres hexadecimales) generadas aleatoriamente usando el algoritmo openssl_random_pseudo_bytes() de PHP, usando una "salt" única. Se ven como esta de ejemplo:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
- Esta clave de cifrado se guarda en la base de datos encriptándola con el algoritmo AES de 256bits, de grado militar, usando como clave de encriptación la "clave de desbloqueo" proporcionada por el usuario, que normalmente es bastante débil, y por esta razón el sistema la hace más poderosa aplicando el algoritmo PBKDF2 con 600 mil iteraciones y un "salt" aleatorio único. Esto dobla la recomendación OWASP para 2025 (!!).
Nota: por esta razón podrás notar que al encriptar/desencriptar una clave o una nota, tu Dolibarr puede tardar aprox. 0.5 segundos de más (depende de la potencia de tu servidor).
- Por último, las notas se encriptan usando esta clave de 256bits del primer punto, de nuevo usando el algoritmo AES de 256 bits.
- Así que aunque alguien pudiera acceder a un backup de tu base de datos requeriría demasiado esfuerzo computacional para un ataque de fuerza bruta.
Recomendaciones en cuanto al cifrado
Este sistema usando una versión "hardenizada con PBKDF2" hace muy díficil el éxito de un ataque de fuerza bruta, pero se recomienda:
- No pongas todas las manzanas en la misma cesta. Usa diferentes claves para diferentes "asuntos". Eso siempre aumentará la dificultad para un atacante, ya sea que intente un ataque de fuerza bruta o ya sea que una de tus claves se vea comprometida por técnicas de "hacking social".
- Usa claves de bloqueo robustas. No uses claves de desbloqueo ni muy cortas ni con palabras de diccionario... Más bien: mezcla mayúsculas y minúsculas, incluye signos de puntuación y números. Y si prefieres usar palabras "de diccionario", entonces que sea una frase larga de palabras "sin sentido"
Trazabilidad mínima de cambios
De momento solamente se guarda el minuto y el usuario que hizo el último cambio en una nota. A futuro podría agregarse un LOG de cambios, si hay interés de una funcionalidad así.
Compatibilidad con multi-company
las notas que se agregan a un elemento de una compañía quedan visibles únicamente para esa compañía. Y las claves que un usuario crea en una compañía también solamente son accesibles cuando opera en esa compañía.
Proceso de instalación
Primeramente lo de costumbre en la instalación de cualquier módulo de Dolibarr:
- Ir a la sección Configuración
- Ir a Módulos
- Ir a pestaña Instalar módulo externo, y ahí subes el ZIP del módulo o su actualización
- Volvemos a la pestaña Módulos disponibles
- Filtramos por Origen: "Externo - IMASDEWEB"
- Activamos el módulo

Anexo: Guía rápida de formateo con Markdown
Imagina que estás escribiendo un mensaje de texto o una nota, y quieres resaltar algunas palabras para que se vean en negrita, en cursiva o como un título grande. Normalmente, en programas como Word, haces clic en botones para aplicar esos estilos.
Mientras que Markdown es como un atajo de teclado para dar estilo al texto, pero usando símbolos simples en lugar de botones. Fue creado para que cualquier persona pueda formatear texto de manera rápida y legible, incluso si solo está escribiendo en un bloc de notas sencillo.
Muchas plataformas lo reconocen automáticamente: WhatsApp, Telegram, Discord, foros, blogs (como Medium), e incluso en aplicaciones de notas como Obsidian o Notion.
Encabezados
Usos # símbolos para crear encabezados (1-6 niveles):
# H1 - Main Title
## H2 - Section
### H3 - Subsection
Formato de texto
- Texto en negrita:
**bold**o__bold__ - Texto en cursiva:
*italic*o_italic_ - Negrita y cursiva:
***text*** Strikethrough:~~strikethrough~~Inline code:`code`
Enlaces
Crea hipervínculos con [text](URL):
[OpenAI](https://openai.com)
Resultado: OpenAI
Imágenes
Insertar imágenes usando :


Citas
Cita de un solo nivel utilizando
>Cita anidada usando
>>Continuación...
Usando esto:
> Cita de un solo nivel utilizando `>`
>> Cita anidada usando `>>`
>
> Continuación...
Listas
Listas desordenadas
Usos -, *, o + Para viñetas:
- Primer elemento
- Segundo elemento
- Elemento anidado (sangrado con el caracter TAB)
- Otro elemento anidado
- Tercer elemento
Listas ordenadas
Utilice números seguidos de períodos:
1. Primer elemento
2. Segundo elemento
3. Tercer elemento
Bloques de código
Código en línea
Utilice comillas invertidas individuales: `código aquí`
Bloques de código
Utilice "backticks" triples con identificador de lenguaje opcional:
```php
$variable = "Hola Mundo";
echo $variable;
```
Reglas horizontales
Crea divisores con ---, ***, o ___:
Tablas
Crea tablas usando "pipes" | y guiones -:
| Columna 1 | Columna 2 | Columna 3 |
|----------|----------|----------|
| Datos 1 | Datos 2 | Datos 3 |
| Datos 4 | Datos 5 | Datos 6 |
Resultado:
| Columna 1 | Columna 2 | Columna 3 |
|---|---|---|
| Datos 1 | Datos 2 | Datos 3 |
| Datos 4 | Datos 5 | Datos 6 |
Listas de tareas
Crea casillas de verificación con - [ ] o - [x]:
[x] Tarea completada
[ ] Tarea pendiente
[ ] Otra tarea pendiente
Result:
Tarea completada
Tarea pendiente
Otra tarea pendiente
Escapando carácteres especiales
Si necesitas incluir en tu texto los caracteres que Markdown usa para formateo, puedes "escaparlos" colocando la barra inclinada \ como prefijo:
| Caracter | Nombre | Ejemplo | Resultado |
|---|---|---|---|
\\ |
barra invertida | \\ |
\ |
\* |
asterisco | \*texto\* |
*texto* |
\_ |
guión bajo | \_texto\_ |
_texto_ |
\{ \} |
llaves | \{codigo\} |
{codigo} |
\[ \] |
corchetes | \[texto\] |
[texto] |
\< \> |
menor/mayor que | \ |
\ |
\( \) |
paréntesis | \(nota\) |
(nota) |
\# |
gato/almohadilla | \# no es un título |
# no es un título |
\+ |
sumar | \+ elemento |
+ elemento |
\- |
guión | \- no es lista |
- no es lista |
\. |
punto | 1\. no es lista |
1. no es lista |
\! |
exclamación | \!\[no es imagen\] |
![no es imagen] |
\| |
pipe | \| no es tabla \| |
| no es tabla | |
Casos de uso habituales
Sin escapar: *itálica* **negrita** `código`
Escapado: \*asteriscos\* \*\*estrellas\*\* \`backticks\`
Resultado:
- Sin escapar: itálica negrita
código - Escapado: *asteriscos* **estrellas** `backticks`
Nota: el renderizado de Markdown puede variar dependiendo de la plataforma (GitHub, GitLab, Reddit, Dolibarr, etc.).

Añada su comentario: