Wiki

Clone wiki

BibSonomy / documentation / releases / 2011 / 2.0.18

2.0.18 (sdo)

date: 2011/09/21

released

  • Die AccessDeniedNoticeException muss aus den Logs raus
    • bibsonomy-utils neu bauen und jar nach tomcat/lib kopieren (>5.5) (dort sollte schon eine util Jar zu finden sein)
    • log4j.xml folgendes eintragen:

<filter class="org.bibsonomy.util.log4j.filter.ExceptionFilter"> <param name="IgnoredException" value="org.bibsonomy.webapp.util.spring.security.exceptions.AccessDeniedNoticeException" /> <param name="IgnoredException" value="org.springframework.security.access.AccessDeniedException" /> </filter>

  • Autorennormalisierung (rja)
  • Cronjob der Autorentabelle (dbe) Wurde das gemacht?
  • Export-Optionen-Box für BibTeX-Export (rja)
  • Umstellung der Konfiguration von context.xml auf optionale properties Datei + Viewumstellung
  • Community Posts für Bookmarks
  • Cronjob (Puma I Projektziel?) (rja)
  • Auto-Vervollständigung: send: Tag
  • Fix jabref System Tag (=> FOW!sdo)
  • Systemtag-Framework refactored (waldemar)
  • Adaption to WURFL's new licence

Necessary Changes

Database

Community Post für Bookmarks

--  'publications' aus dem Tabellennamen entfernen
RENAME TABLE gold_standard_publications TO gold_standard;
RENAME TABLE log_gold_standard_publications TO log_gold_standard;
-- Spalte 'content_type' hinzufügen:
ALTER TABLE gold_standard ADD COLUMN `content_type` tinyint(1) unsigned default NULL;
ALTER TABLE log_gold_standard ADD COLUMN `content_type` tinyint(1) unsigned default NULL;
-- bisherige Einträge als Publikationen 'markieren'
UPDATE gold_standard SET `content_type` = 2;
UPDATE log_gold_standard SET `content_type` = 2;

Properties

folgende Config Parameter wurden entfernt:

  • projectName
  • projectHome
  • projectEmail
  • projectNoSpamEmail (Achtung Namensänderung siehe unten)
  • projectContext
  • projectBlog
  • ReCaptchaPublicKey
  • ReCaptchaPrivateKey
  • resdir
  • kdeHome

somit können diese aus der context.xml gelöscht werden.

context.xml => bibsonomy.properties

Alle Parameters, die Properties aus der project.properties überschrieben haben, müssen in einer Java properties Datei gesammelt werden und können aus der context.xml gelöscht werden. In der context.xml muss dann der Pfad zu dieser Datei als config.location Parameter eintragen werden. siehe <BibSonomy:Konfiguration>

Änderungen

projectNoSpamEmail wurde zu project.noSpamEmail. Entsprechend in der properties Datei eintragen.

aus der context.xml den Lucene Eintrag in die properties Datei übertragen:

<Resource 
       name="luceneConfig" 
       auth="Container"
       type="org.bibsonomy.lucene.param.LuceneConfig"
       factory="org.apache.naming.factory.BeanFactory"

       indexPath="/home/stud/<username>/<workspace>/bibsonomy/bibsonomy-lucene/src/test/resources/"
       searchMode="lucene"
       enableUpdater="true"
       loadIndexIntoRam="false"
       maximumFieldLength="5000"
    />

Namensänderungen:

  • indexPath -> lucene.index.basePath
  • enableUpdater -> lucene.enableUpdater
  • maximumFieldLength -> lucene.index.maxFieldLength
  • tagCloudEnabled -> lucene.tagCloud.enabled
  • tagCloudLimit -> lucene.tagCloud.limit

weggefallene Parameter (weil nicht benutzt):

  • searchMode
  • loadIndexIntoRam

Index fuer die Startseite

CREATE INDEX `spammer_to_classify_user_name_idx` ON user (`spammer`,`to_classify`,`user_name`);

Gold-Standard Bookmarks nachtragen

CREATE TEMPORARY TABLE lost_gold_standard_bookmarks AS
    SELECT 1 AS content_id, 0 AS `group`, CURRENT_TIMESTAMP AS date, 1 AS content_type, b.book_url_hash AS simhash1, mu.book_url AS url, book_extended AS description, book_description AS title
    FROM bookmark b
    JOIN (SELECT * FROM urls u JOIN (SELECT DISTINCT interHash FROM discussion) AS m ON u.book_url_hash = interHash) AS mu ON b.book_url_hash = mu.book_url_hash GROUP BY b.book_url_hash;

SET autocommit=0;
START TRANSACTION;
--  get next content id
SELECT @A:=MAX(value)+1 FROM ids WHERE name = 0;
UPDATE lost_gold_standard_bookmarks SET content_id = @A:=@A+1;
UPDATE ids SET value = @A+1 WHERE name = 0;
COMMIT;

INSERT INTO gold_standard (content_id, `group`, date, content_type, simhash1, url, description, title) SELECT * FROM lost_gold_standard_bookmarks;

DROP TABLE lost_gold_standard_bookmarks;

Gold-Standard Publikationen nachtragen

CREATE TEMPORARY TABLE lost_gold_standard_publications AS
    SELECT 1 AS content_id, 0 AS `group`, CURRENT_TIMESTAMP AS date, 2 AS content_type, simhash1, journal, volume, chapter, edition, month, day, booktitle, howPublished, institution, organization, publisher, address, school, series, bibtexKey, url, type,  description, annote, note, pages, bKey, number, crossref, misc, bibtexAbstract, entrytype, title, author, editor, year, scraperid
    FROM bibtex b
    JOIN (SELECT DISTINCT interHash FROM discussion) AS d ON b.simhash1 = d.interHash GROUP BY b.simhash1;

SET autocommit=0;
START TRANSACTION;
--  get next content id
SELECT @A:=MAX(value)+1 FROM ids WHERE name = 0;
UPDATE lost_gold_standard_publications SET content_id = @A:=@A+1;
UPDATE ids SET value = @A+1 WHERE name = 0;
COMMIT;

INSERT IGNORE INTO gold_standard (content_id, `group`, date, content_type, simhash1, journal, volume, chapter, edition, month, day, booktitle, howPublished, institution, organization, publisher, address, school, series, bibtexKey, url, type,  description, annote, note, pages, bKey, number, crossref, misc, bibtexAbstract, entrytype, title, author, editor, year, scraperid) SELECT * FROM lost_gold_standard_publications;

DROP TABLE lost_gold_standard_publications;

content_type zu discussion-Tabellen hinzufügen

ALTER TABLE discussion ADD content_type tinyint(1) unsigned NOT NULL DEFAULT 0;\ ALTER TABLE log_discussion ADD content_type tinyint(1) unsigned NOT NULL DEFAULT 0;

discussion-Tabelle um content_type Values ergänzen

Annahme: es gibt zu jedem Eintrag in discussions einen gold_standard-Eintrag

​1. prüfe Annahme

select count(interHash) from discussion;
select count(simhash1) from gold_standard;
select count(interHash) from discussion join gold_standard on discussion.interHash=gold_standard.simhash1;

Die Werte der ersten und dritten Abfrage sollten gleich sein.

​2. hole alle content_type Daten aus gold_standard, die auch in discussion existieren und update discussion entsprechend.

UPDATE discussion AS d SET d.content_type = (SELECT content_type FROM gold_standard WHERE d.interHash = simhash1)
UPDATE log_discussion AS d SET d.content_type = (SELECT content_type FROM gold_standard WHERE d.interHash = simhash1)

Hashes der Publikationen neu berechnen

Wegen der/des geänderten Personennamen-Normalisierung und -Parsing müssen einige Hashes in der Datenbank neu berechnet werden, siehe <Bibsonomy:Personennamen>.

Dazu die Klasse org.bibsonomy.batch.repair.SimHashCleaner aus dem Modul bibsonomy-batch aufrufen. Konfiguration über Datei SimHashCleaner.properties im Format

db.url  = jdbc:mysql://gromit/bibsonomy?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8&zeroDateTimeBehavior=convertToNull&useCursorFetch=true
db.user = bibsonomy
db.pass = ***

Updated