Sto per iniziare a codificare un wiki orientato alla documentazione, come un progetto per animali domestici. Le caratteristiche principali sono:
- Raggruppamento estremamente semplice dei documenti per versione
- Sintassi Markdown (sottoinsieme di)
- Autori multipli e amp; progetti
Sono ancora indeciso sulle opzioni di archiviazione. L'approccio ovvio sarebbe un database. Dato che questo è un progetto per animali domestici, probabilmente andrò con una soluzione NoSQL, probabilmente MongoDB. La maggior parte dei progetti correlati al lavoro si basano su MySQL e voglio continuare a farlo divertito, cioè non fare le stesse cose che faccio al lavoro tutto il giorno.
L'approccio meno ovvio sarebbe Mercurial, in modo simile a git-wiki . Mercurial offrirebbe ovviamente un'integrazione più stretta con il codice e non dovrò creare versioni di versioni. Ho ancora bisogno di una sorta di database, per archiviare le informazioni sui repository e possibilmente altre cose, ma Mercurial sarebbe la memoria principale per i testi.
Ho compilato una piccola lista dei principali punti per ciascun approccio:
database
- Può modellarlo come voglio, senza preoccuparsi del flusso di lavoro Mercurial.
- L'integrazione del codice potrebbe essere semplice come mettere un link al repository (ma niente di più).
- Abbastanza facile da cambiare database in qualsiasi momento, se necessario (abbondanza di strumenti nativi).
- Scelta naturale (più persone sono abituate, non accoppiate a un vcs).
Mercurial
- Versioning e diff per impostazione predefinita.
- La stretta integrazione con il codice significa che sono possibili molte cose interessanti, come un plug-in di revisione del codice.
- Dovrò scrivere un wrapper, non sono soddisfatto di tutte le librerie già pronte che ho valutato (non necessariamente una cosa negativa).
- È ancora necessaria una sorta di database.
- Diversi flussi di lavoro validi, quello che scelgo per lo strumento potrebbe non essere molto compatibile con quelli che sceglieranno per il loro codice.
Voglio renderlo il più piccolo e divertente possibile, e sono un po 'bloccato sui due approcci. Pensieri? C'è qualcosa di ovvio che mi manca? Se questo è troppo sfumato per decidere, cosa dovrei definire meglio prima di scegliere?