See the Mailing Lists Page for how to subscribe and unsubscribe.
eprints_tech messages
Please note: this page shows emails that have been sent to the eprints_tech mailing list. Some of these may be spam emails we have failed to filter.
[EP-tech] Re: Phrases based on eprint type
From: Duncan Dickinson <d.dickinson AT qut.edu.au>
Date: Thu, 6 Nov 2008 14:00:57 +1000
| Threading: | ↑ [EP-tech] Phrases based on eprint type from d.dickinson AT qut.edu.au • This Message → [EP-tech] Re: Phrases based on eprint type from sms67 AT cam.ac.uk → [EP-tech] Re: Phrases based on eprint type from alfons.wittmann AT ku-eichstaett.de |
http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech *** EPrints community wiki - http://wiki.eprints.org/ Hi All, I'm afraid to say that no answers have appeared (yet) Looking into the code, I think for contextual help text we'd need to change ↵ Metafield.pm sub render_help { my( $self, $session ) = AT _; if( defined $self->{help_xhtml} ) { return $self->{help_xhtml}; } my $phrasename = $self->{confid}."_fieldhelp_".$self->{name}; return $session->html_phrase( $phrasename ); } If you can get the eprint type in this section of code, you could change it to ↵ be something like: sub render_help { my( $self, $session ) = AT _; if( defined $self->{help_xhtml} ) { return $self->{help_xhtml}; } my $phrasename = $self->{confid}."_fieldhelp_".$self->{name}; my $type_specific_phrasename = ($phrasename . "#" . ?getEprintType?; if (EPrints::Language->has_phrase($type_specific_phrasename) { return $session->html_phrase($type_specific_phrasename); } else { return $session->html_phrase( $phrasename ); } } This could allow you to set the following in the phrases file: <epp:phrase id="eprint_fieldhelp_title">This is the title of ↵ the item</epp:phrase> <epp:phrase id="eprint_fieldhelp_title#book">This is the title ↵ of the book</epp:phrase> <epp:phrase id="eprint_fieldhelp_title#booksection">This is the ↵ title of the chapter and not the book itself</epp:phrase> There's always a default to use but you can give specific help for specific ↵ resource types. My main problem is that I can't work out how to get the current eprint record's ↵ data - this is the eprint we're editing in the workflow. Calling $self{type} ↵ will give you the field type (ala Longtext) and not the eprint type (ala ↵ Article). I'm also unsure about getting to the Language object. Any ideas on getting that eprint type? Cheers, Duncan Ps The same would be great for field titles. For example <epp:phrase ↵ id="eprint_fieldname_volume">Volume</epp:phrase> <epp:phrase id="eprint_fieldname_volume#book">Series ↵ Volume</epp:phrase> ...but I just don't have the time to keep digging in the code Duncan Dickinson / QUT Digital Repository Technical Project Manager / Library ↵ Systems Queensland University of Technology / CRICOS: 00213J ph 3138 3782 -----Original Message----- From: eprints-tech-bounces AT ecs.soton.ac.uk [mailto:eprints-tech-bounces AT ↵ ecs.soton.ac.uk] On Behalf Of Stephen Shorrock Sent: Wednesday, 5 November 2008 12:28 AM To: EPrints.org Technical List Subject: [EP-tech] Re: Phrases based on eprint type http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech *** EPrints community wiki - http://wiki.eprints.org/ Hi Duncan, I was wondering whether you found a solution for this? If so I wondered whether you wouldn't mind sharing it. I think that we would like to do the exact same thing. TIA Stephen Dickinson wrote: > *** ↵ http://www.eprints.org/tech.php/id/%3CCDD4943B0C84AD4B87B7B2EB6BF47ED2B6303E0B%40QUTEXMBX01.qut.edu.au%3E > *** EPrints community wiki - http://wiki.eprints.org/ > > Hi Matthaeus, > > Thanks for responding to my query. I was trying to avoid creating another ↵ field as the information is basically the same (ie it is the creator of the ↵ item) and just try to change the wording on the screen depending on the ↵ resource type being described. This is along the lines of the citations where ↵ you can use epc conditionals to format the output based on resource type. > > Another example would be to display one help string for Journal titles and ↵ another for Books. You don't want to create separate fields for each title but ↵ you need different display text. > > Cheers, > > Duncan > > Duncan Dickinson / QUT Digital Repository Technical Project Manager / ↵ Library Systems > Queensland University of Technology / CRICOS: 00213J > ph 3138 3782 > > > -----Original Message----- > From: owner-eprints-tech AT ecs.soton.ac.uk [mailto:owner-eprints-tech AT ↵ ecs.soton.ac.uk] On Behalf Of Matthäus Zylka > Sent: Monday, 20 October 2008 9:21 PM > To: EPrints.org Technical List > Subject: Re: [EP-tech] Phrases based on eprint type > > *** ↵ http://www.eprints.org/tech.php/id/%3C1224501689.48fc69b9c61fc%40webmail.uni-koeln.de%3E > *** EPrints community wiki - http://wiki.eprints.org/ > > Zitat von Duncan Dickinson <d.dickinson AT qut.edu.au>: > > Hi Duncan, > > If you want to add a new Eprint type you have to add some lines into ↵ following > files: > > -> /phrases/eprint_types.xml: > > <epp:phrase ↵ id="eprint_typename_artwork">Artwork</epp:phrase> > <epp:phrase id="eprint_optdetails_type_artwork">An ↵ Artwork ;)</epp:phrase> > > ->/namedsets/eprint: > > artwork > > Then you have to edit the /cfg.d/eprint_fields.pl and add: > > { > 'name' => 'artist', > 'type' => 'compound', > 'multiple' => 1, > 'fields' => [ > { > 'sub_name' => 'name', > 'type' => 'name', > 'hide_honourific' => 1, > 'hide_lineage' => 1, > 'family_first' => 1, > }, > { > 'sub_name' => 'id', > 'type' => 'text', > 'input_cols' => 20, > 'allow_null' => 1, > } > ], > 'input_boxes' => 4, > }, > > -> /phrases/eprint_fields.xml: > > <epp:phrase ↵ id="eprint_fieldname_artist">Artist</epp:phrase> > <epp:phrase ↵ id="eprint_fieldname_artist_name">Artists</epp:phrase> > <epp:phrase ↵ id="eprint_fieldname_artist_id">E-Mail</epp:phrase> > <epp:phrase id="eprint_fieldhelp_artist">HELPHELP or ↵ something</epp:phrase> > > and the last one > > /workflows/eprint/default.xml: > > <stage name="core"> > <epc:choose> > . > . > . > <epc:when test="type='artwork'"> > <component><field ref="artist" > input_lookup_url="{$config{rel_cgipath}}/users/lookup/name" ↵ /></component> > </epc:when> > > I don't know what kind of fields you really need. So here is only an ↵ example: > <epc:if test="type = 'artwork'"> > <field ref="date"/> > <field ref="date_type"/> > <field ref="place_of_pub"/> > <field ref="series"/> > <field ref="official_url"/> > </epc:if> > > After that, run "generate_static XXX", "_views", ↵ "_abstracts", "epadmin > upgrade_database_structure XXX" (I don't know if its a feature of ↵ eprints > version < 3.1.0) and "epadmin reload XXX". > If "epadmin upgrade_database_structure XXX" doesn't work, you'll ↵ have to add > "artist" in your SQL Database by hand. > > Don't forget to restart Apache > > regards, > -- > Matthaeus Zylka > University of Cologne > Libary for Computer Science > and Business Computing > Pohligstr. 1 > 50969 Cologne > > >
[index] [prev] [next] [options] [help]




