EPrints Technical Mailing List Archive

See the EPrints wiki for instructions on how to join this mailing list and related information.

Message: #03137


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Re: Browse pages


The "browse by" pages are called "views".

The module EPrints::Update::Views, traditionally invoked by the
generate_views script and in newer versions of EPrints also triggered by
requesting a stale view page, generates a separate HTML file for each
view and for the summaries (how this occurs and which views are
generated is driven by specifications in cfg.d/views.pl of your archive).

In general, EPrints creates the XHTML document structure in memory first
(by calling "appendChild" for each node) and in a final step it converts
the content of this structure into a string, which is written either
straight to browser or to a file.

Strings that appear in the GUI are not found directly in the source
code, instead they reside in phrases XML files. So typically you search
the phrases files first to locate a piece of GUI (watching out for line
breaks etc.), and in the next step you search for the phrase id in the
source. However, with views it may not be the best approach because they
mostly consist of data from the database, with few fixed phrases on
which to base your search.

You should just put some print STDERR "debug\n"; statements (goes to
Apache rror log) or alter EPrint::Update::Views code and then observe
what effect this has on the output of bin/generate_views.pl

"Manage deposits" is quite a different story, it's a "screen"
(implemented in EPrints::Plugin::Screen::EPrint::Deposit), as are most
pages you see while navigating through EPrints. However, the output is
done pretty much the same way, XHTML document structure constructed by
the screen module, then output centrally. Note that the module
Repository.pm (formerly Session.pm) contains quite a few functions that
add more complex content to the XHTML document (they are called
render_xxx there).

On 06/10/2014 11:50 AM, Andrew Beeken wrote:
> Any thoughts? I find the method that EPrints uses to put pages together
> rather impenetrable so any assistance would be great. I¹m now also looking
> at the Manage Deposits page and trying to make some adjustments to the
> form there, however gripping for specific phrases from the form turns up
> nothing.
> 
> On 06/06/2014 14:42, "Andrew Beeken" <anbeeken@lincoln.ac.uk> wrote:
> 
>> Afternoon!
>>
>> I¹m trying to understand how the ³Browse² pages are put together,
>> specifically the ³Browse by creator² pages. I¹ve tracked down the
>> functions that seem to pull the content from the database but I¹m not
>> sure how this is then translated into a displayable page. Any pointers?
>>
>> Andrew
>>
>> The University of Lincoln, located in the heart of the city of Lincoln,
>> has established an international reputation based on high student
>> satisfaction, excellent graduate employment and world-class research.
>>
>> The information in this e-mail and any attachments may be confidential.
>> If you have received this email in error please notify the sender
>> immediately and remove it from your system. Do not disclose the contents
>> to another person or take copies.
>>
>> Email is not secure and may contain viruses. The University of Lincoln
>> makes every effort to ensure email is sent without viruses, but cannot
>> guarantee this and recommends recipients take appropriate precautions.
>>
>> The University may monitor email traffic data and content in accordance
>> with its policies and English law. Further information can be found at:
>> http://www.lincoln.ac.uk/legal.
>>
>> *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>> *** Archive: http://www.eprints.org/tech.php/
>> *** EPrints community wiki: http://wiki.eprints.org/
>> *** EPrints developers Forum: http://forum.eprints.org/
> 
> 
> *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
> *** Archive: http://www.eprints.org/tech.php/
> *** EPrints community wiki: http://wiki.eprints.org/
> *** EPrints developers Forum: http://forum.eprints.org/
>