Skip to content

Commit

Permalink
release 3.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
agiove committed Dec 7, 2020
1 parent 15cc0f6 commit 7907133
Show file tree
Hide file tree
Showing 164 changed files with 6,338 additions and 1,552 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/config/database.yml
/config/secrets.yml
/Gemfile.lock
21 changes: 20 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,23 @@
## Archimista 3.0 e 3.1 versione server e stand alone – gennaio 2019
## Archimista 3.1.1
* Il ruolo admin può ora gestire le schede anagrafiche all'interno del suo gruppo.
* Ripristinata l'anteprima delle text area nelle unità archivistiche.
* Modificati i loghi sulla home page.
* Correzione codifica caratteri accentati su alcune pagine.
* Modificata pagina di Informazioni e Copyright.
* Aumentata la dimensione di diversi campi testuali a 16777215 caratteri.
* Corretto il caricamento dei CSV in maniera tale da poter inserire nei campi testuali le virgole.
* Modificato il modo in cui sono conteggiate le unità archivistiche.
* Aggiunto filtro per complesso archivistico sulla pagina degli oggetti digitali.
* Corretta la tipologia fascicolo nella versione standalone.
* Corretta la segnatura provvisoria - numero delle unità: accetta solo caratteri numerici.
* Rese utilizzabili tutte le lingue nel relativo vocabolario.
* Modificato l'export XML (SCONS2, EAC-CPF, EAD3) in maniera tale da essere conforme al relativo tracciato.
* Tracciato EAC-CPF: modificato import dei soggetti produttori.
* Tracciato EAC-CPF: implementato import dei profili istituzionali.
* Tracciato EAC-CPF: implementato import delle schede anagrafiche.
* Tracciato SCONS2: modificato import dei soggetti conservatori.

## Archimista 3.0 e 3.1 – gennaio 2019
* Sviluppo del fascicolo edilizio secondo il modello presentato e dopo analisi con l’ICAR;
* Integrazione con la procedura di esportazione/importazione aef;
* Integrazione con la procedura di esportazione/importazione EAD3/EAC;
Expand Down
6 changes: 5 additions & 1 deletion FAQ.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Archimista FAQ 3.1.0
## Archimista FAQ 3.1.1

**È possibile estrarre un complesso o un’unità includendo tutta la gerarchia (ascendenza e discendenza)?**
Sì. Il tracciato relativo ad un complesso ora contiene: tutta l’ascendenza (se presente) a partire dal complesso radice secondo una struttura breve contenente solo *unitid* e *unittitle*; il complesso oggetto di esportazione; tutta la discendenza (se presente); le unità archivistiche associate al complesso oggetto di esportazione ed ai complessi figli. Il tracciato relativo ad una unità ora contiene: tutta l’ascendenza sia in termini di complessi che di unità a partire dal complesso radice secondo una struttura breve contenente solo *unitid* e *unittitle*; l’unità oggetto di esportazione; tutta la discendenza (se presente).
Expand All @@ -15,6 +15,9 @@ Il tracciato ICAR-IMPORT è costruito a partire da un complesso archivistico (ra
* le schede anagrafiche collegate alle unità incluse secondo il tracciato EAC-CPF;
* le fonti archivistiche collegate al complesso oggetto di esportazione o ai complessi figli secondo il tracciato EAD3.

**Tentando di estrarre mediante unzip un archivio generato dall'export in formato ICAR-IMPORT si ottiene un errore del tipo "error: invalid zip file with overlapped components (possible zip bomb)"; come risolvere?**
Per archivi di dimensioni superiori a 4GB potrebbe verificarsi un errore in fase di estrazione mediante unzip. Per ovviare al problema è possibile utilizzare in alernativa il software "7zip" o il comando "jar xf <nome_file.zip>".

**È possibile creare una scheda sottofascicolo?**
Sì. È possibile crearla, dalla schermata in cui compare la lista delle unità relative ad un determinato complesso archivistico, è sufficiente cliccare sul bottone “crea sottofascicolo”. E’ anche possibile reiterare l’operazione su più livelli.

Expand Down Expand Up @@ -59,3 +62,4 @@ Per dettagli consulta la pagina [Note di rilascio](http://www.archimista.it/?pag
* produzione di report per Complesso archivistico, Progetto o Soggetto conservatore
* upload multiplo di oggetti digitali
* creazione sotto-unità e sotto-sotto-unità e possibilità di modificarne il livello

3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Archimista
Archimista è un'applicazione web open source per la descrizione di archivi storici. È disponibile in due versioni: standalone e server.
La versione corrente è la **3.1.0**.
La versione corrente è la **3.1.1**.

## Requisiti
Archimista funziona sui sistemi operativi GNU/Linux, Mac OS X, Windows Vista e superiori. Per Windows XP è necessario utilizzare una versione apposita che viene compilata allo scopo.
Expand Down Expand Up @@ -47,3 +47,4 @@ Lo sviluppo attuale è curato da INGLOBA360 s.r.l. ([http://www.ingloba360.it](h

## Licenza
Archimista è rilasciato sotto licenza GNU General Public License v2.0 o successive.

3 changes: 2 additions & 1 deletion app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def sc2_terms
def langs
# Upgrade 2.0.0 inizio
# @langs = Lang.find(:all, :conditions => {:active => true})
@langs = Lang.where(active: true)
@langs = Lang.where(active: true).order("active DESC, it_name ASC")
# Upgrade 2.0.0 fine
end

Expand Down Expand Up @@ -147,3 +147,4 @@ def after_sign_out_path_for(resource_or_scope)

end


97 changes: 89 additions & 8 deletions app/controllers/digital_objects_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ def current_ability
# Upgrade 2.2.0 fine

def all
#if params[:type].present?
# @selected_attachable = {:type => params[:type]}
#else
# @selected_attachable = {:type => "Fond"}
#end

# Upgrade 2.0.0 inizio
=begin
@digital_objects = DigitalObject.accessible_by(current_ability, :read).
Expand All @@ -62,14 +68,89 @@ def all
to_a.
delete_if {|o| o.attachable.nil? || (o.attachable.has_attribute?("sequence_number") && o.attachable.sequence_number.nil?) }
=end
@digital_objects = DigitalObject.accessible_by(current_ability, :read).
joins(:group).
includes(:attachable).
order(sort_column + ' ' + sort_direction).page(params[:page]).
to_a.
delete_if {|o| o.attachable.nil? || (o.attachable.has_attribute?("sequence_number") && o.attachable.sequence_number.nil?) }
# Upgrade 2.2.0 fine
# Upgrade 2.0.0 fine
=begin
#Ricerca degli oggetti digitali appartenenti a fondi che hanno come ROOT un fondo con il nome ricercato (like)
@digital_objects = DigitalObject.accessible_by(current_ability, :read).
joins(:group).
includes(:attachable).
where(attachable: Fond.roots.where("fonds.name LIKE ?", "%" + params[:q] + "%").
joins("INNER JOIN fonds f_child ON f_child.ancestry LIKE CONCAT(fonds.id, '/%') OR f_child.ancestry_depth = 0")).
order(sort_column + ' ' + sort_direction).
page(params[:page]).
to_a.
delete_if {
|o| o.attachable.nil? ||
(o.attachable.has_attribute?("sequence_number") && o.attachable.sequence_number.nil?)}
=end
if params[:q].present? or params[:unit].present?
if params[:unit] != "" && params[:q] != ""
@digital_objects = DigitalObject.accessible_by(current_ability, :read).
joins(:group).
includes(:attachable).
where(attachable: Unit.joins("INNER JOIN fonds ON units.root_fond_id = fonds.id").
where("fonds.name LIKE ? AND units.title LIKE ?",
"%" + params[:q] + "%",
"%" + params[:unit] + "%")).
order(sort_column + ' ' + sort_direction).page(params[:page]).
to_a.
delete_if {
|o| o.attachable.nil? ||
(o.attachable.has_attribute?("sequence_number") && o.attachable.sequence_number.nil?)
}
elsif params[:unit] != ""
@digital_objects = DigitalObject.accessible_by(current_ability, :read).
joins(:group).
includes(:attachable).
where(attachable: Unit.joins("INNER JOIN fonds ON units.root_fond_id = fonds.id").
where("units.title LIKE ?",
"%" + params[:unit] + "%")).
order(sort_column + ' ' + sort_direction).page(params[:page]).
to_a.
delete_if {
|o| o.attachable.nil? ||
(o.attachable.has_attribute?("sequence_number") && o.attachable.sequence_number.nil?)
}

elsif params[:q] != ""
@digital_objects = DigitalObject.accessible_by(current_ability, :read).
joins(:group).
includes(:attachable).
where(attachable: Unit.joins("INNER JOIN fonds ON units.root_fond_id = fonds.id").
where("fonds.name LIKE ?", "%" + params[:q] + "%")).
order(sort_column + ' ' + sort_direction).page(params[:page]).
to_a.
delete_if {
|o| o.attachable.nil? ||
(o.attachable.has_attribute?("sequence_number") && o.attachable.sequence_number.nil?)
}
end

@fond_ids_AEF = Array.new
@fond_ids_EAD = Array.new
@unit_ids = Array.new

@digital_objects.each do |dig_obj|
if dig_obj.attachable_type == "Unit"
@fond_ids_AEF.push Unit.find(dig_obj.attachable_id).root_fond_id
@unit_ids.push dig_obj.attachable_id
end
if dig_obj.attachable_type == "Fond"
@fond_ids_AEF.push dig_obj.attachable_id
@fond_ids_EAD.push dig_obj.attachable_id
end
end
else
@digital_objects = DigitalObject.accessible_by(current_ability, :read).
joins(:group).
includes(:attachable).
order(sort_column + ' ' + sort_direction).page(params[:page]).
to_a.
delete_if {|o| o.attachable.nil? || (o.attachable.has_attribute?("sequence_number") && o.attachable.sequence_number.nil?) }
end

#Upgrade 2.2.0 fine
#Upgrade 2.0.0 fine

# FIXME: retrieving del path di fonds/units è query intensive. Ma per ora teniamocelo...
end
Expand Down
Loading

0 comments on commit 7907133

Please sign in to comment.