27
Internet Publication of Geneva Justice Decisions A case study [email protected]

Internet Publication of Geneva Justice Decisions A case study [email protected]

Embed Size (px)

Citation preview

Page 1: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

Internet Publication of Geneva Justice Decisions

A case study

[email protected]

Page 2: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 2

Agenda

context presentation

justice.ge.ch/jurisprudence : short tour

technical information

some lessons aboutPerl in the enterprise

Page 3: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

Context presentation

Page 4: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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.

Page 5: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 5

Lifecycle

receivecase

investigate

write project deliberate

finalizesend

supplycontext

archive

clerk judge college

Page 6: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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

Page 7: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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

Page 8: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 8

Page 9: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 9

Page 10: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

Short tour

http://justice.geneve.ch/jurisprudence

Page 11: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 11

Page 12: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 12

Page 13: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 13

metadata searchmetadata search

fulltext searchfulltext search

Page 14: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 14

Page 15: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 15

Qualité pour agir

Page 16: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 16

Page 17: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

Technical information

Page 18: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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 !

Page 19: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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

Page 20: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

LD, PJ-GE, july 2006 20

Phases for a search

Parse request

Metadata search Fulltext search

Merge results

Sort & slice

Contextual excerpts

Display

Page 21: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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

Page 22: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

Some lessons aboutPerl in the Enterprise

Page 23: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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

Page 24: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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 !

Page 25: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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 !

Page 26: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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

Page 27: Internet Publication of Geneva Justice Decisions A case study laurent.dami@justice.ge.ch

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