Wiki
Clone wikiBibSonomy / 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