Upload
isabel-reynolds
View
215
Download
0
Tags:
Embed Size (px)
Citation preview
LD, PJ-GE, july 2006 2
Agenda
context presentation
justice.ge.ch/jurisprudence : short tour
technical information
some lessons aboutPerl in the enterprise
Context presentation
LD, PJ-GE, july 2006 4
A justice decision
is a structured documentheader / facts / law / conclusionmay have a 2nd, anonymous version
has a unique identifier (e.g. ACJC/123/2005) has a context (metadata)
date / names / topic / keywords / summary / etc.
is archived into a collectionminutes du TA / CJC / TPI / etc.
LD, PJ-GE, july 2006 5
Lifecycle
receivecase
investigate
write project deliberate
finalizesend
supplycontext
archive
clerk judge college
LD, PJ-GE, july 2006 6
Electronic archive : requirements
store document multiple formatsfulltext indexing
store metadatastructured fieldsquick search (unstructured!)
intelligent presentationautomatic hyperlinks
offline / CDROM copies per collection
LD, PJ-GE, july 2006 7
Some figures
Intranet : 20 – 30 collectionsInternet : only 2 collections for the moment
500 to 50000 decisions per collectionfor about 10 years of data
2 – 50 pages per document
LD, PJ-GE, july 2006 8
LD, PJ-GE, july 2006 9
Short tour
http://justice.geneve.ch/jurisprudence
LD, PJ-GE, july 2006 11
LD, PJ-GE, july 2006 12
LD, PJ-GE, july 2006 13
metadata searchmetadata search
fulltext searchfulltext search
LD, PJ-GE, july 2006 14
LD, PJ-GE, july 2006 15
Qualité pour agir
LD, PJ-GE, july 2006 16
Technical information
LD, PJ-GE, july 2006 18
Which kind of solution ?
Electronic Doc. Management Systemnot well suited for multiple disjoint
collectionsapproval / workflow not relevant
Database many fields : too much structure for easy
searches (SQL not well suited) see CPAN SQL::KeywordSearch !
LD, PJ-GE, july 2006 19
Storage of a collection
metadata.txt
words.bdb
file.{doc,html,pdf}file.{doc,html,pdf}file.{doc,html,pdf} w2docs.bdb
positions.bdb
fulltext indexin BerkeleyDB
formatdocumentsflat file
config.txt
LD, PJ-GE, july 2006 20
Phases for a search
Parse request
Metadata search Fulltext search
Merge results
Sort & slice
Contextual excerpts
Display
LD, PJ-GE, july 2006 21
Main Modules
Search::QueryParser
Search::Indexer
BerkeleyDB
Template toolkit
File::Tabular::Web
File::Tabular
CGI
AppConfig
not (yet) on CPAN
ModPerl::Registry
Some lessons aboutPerl in the Enterprise
LD, PJ-GE, july 2006 23
Context : Geneva Justice finished phase 1 (collaborative software,
document management) ongoing phase 2 : rewrite the old COBOL
application for case management usingmod_perlCatalystDHTML + Ajax
smooth transitionCOBOL and Perl must live side-by-side for
several years
LD, PJ-GE, july 2006 24
Acceptance strong internal resistance
bad image : low-tech, hacking, scriptingPerl5 features not known
objects, namespaces, closures, etc.not "standard" (i.e. not Java)fear not to be able to maintain and
industrializecheap means "not serious"
but: Perl productivity wins !
LD, PJ-GE, july 2006 25
Perl Job Market found more people than expected. But
all coming from US / UKused Perl several years ago,
now on Java / PHPmissing other skills (modeling, communication,
project management) apparently not enough "average profiles"
few top starsmany low-level geeksPerl not taught at school !
LD, PJ-GE, july 2006 26
Industrialization Release management :
granularity mismatchproduction guys want
big tarballsfew updatesstrict release process
development guys want small and frequent updates using cpan /
cpanplus / minicpanfast release process, short feedback loop
LD, PJ-GE, july 2006 27
Development
TMTOWTDIyet developers need guidance
many thanks to Damian Conway !IDE
CPAN : how to manage proliferationcpanratings not exhaustive/reliable enoughwhich modules were rated by <some_guru> ?inverse dependencies