Domanda

Cosa dovrebbero essere nominati i nodi in un deposito di contenuti come Jackrabbit?Non capisco se li nomina dopo un ID, un testo ecc.

Lascia dire che stavi per memorizzare pagine del blog.Dovresti usare il titolo o cosa?

È stato utile?

Soluzione

Non importa ciò che vengono nominati. Se possibile, nominarli qualcosa che significa qualcosa per la tua applicazione: nome del cliente, ID ordine, nome utente, file allegato, ecc. Ma è difficile da fare in tutte le situazioni (ad esempio, domande su un sito Q & A), quindi potresti aver bisogno di ricorrere per nominare i nodi da una chiave o identificatore generato.

Non importa cosa nomina i nodi, assicurati che la tua struttura del nodo sia una gerarchia e non una struttura piatta (ad esempio, con decine di migliaia di nodi figli sotto un singolo genitore). I repository JCR sono intrinsecamente gerarchici e funzionerà sempre meglio quando la struttura è gerarchica.

Ad esempio, "/orders/{id}" funzionerà con un piccolo numero di clienti, ma lotterà quando il numero di clienti è più di diverse migliaia. Se possibile, utilizzare gli strati aggiuntivi che suddivideremo lo spazio del valore {id} in porzioni gestibili. Le date a volte funzionano:

/orders/yyyy/mm/dd/{id}
.

o se i valori id sono sufficientemente casuali e ben distribuiti (ad esempio, UUIDS o SHA1), è possibile suddividere utilizzando le porzioni del id:

/orders/{id-chars1-2}/{id-chars3-4}/{id}
.

Inoltre, con JCR stesso-nome-fratelli, funziona bene quando garantiscono i non duplicati è difficile. Generalmente, i fratelli dello stesso nome sono problematici perché i percorsi possono cambiare, rendendo difficile per le applicazioni che fanno affidamento sui percorsi (anche per un breve periodo di tempo, ad esempio e.g., tra richieste). Tuttavia, se l'applicazione legge sempre i bambini SNS e li elabora immediatamente, allora i fratelli dello stesso nome potrebbero essere accettabili per la tua applicazione.

Spesso, i percorsi sono utilizzati in posizione di riferimento o proprietà di debolezza, e in questi casi i nodi SNS sono davvero cattivi poiché i "Percorsi di riferimento" non sono durevoli. Se usi i nodi SNS, quindi prendi in considerazione l'utilizzo di una sorta di proprietà di riferimento. Riferimento e deboleferenza sono bidirezionali, ma le implementazioni possono offrire alternative. Ad esempio, il ModeShape offre proprietà "simple_reference" che non sono standard ma uni-direzionali, il che significa che è possibile avere un numero qualsiasi di valori di proprietà Simple_Reference che punta a un singolo nodo di riferimento senza problemi di scalabilità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top