Hi Jim,
The content will come from a query to an external web service, which will be used to fill the template. This is based on the page title being parsed to look for an accession to the external database.
Does that make sense?
Jim ===================================== Jim Hu Associate Professor Dept. of Biochemistry and Biophysics 2128 TAMU Texas A&M Univ. College Station, TX 77843-2128 979-862-4054
On Feb 7, 2007, at 12:06 PM, Jim Wilson wrote:
Hi Jim,
You mention that you might want to have the reference pages created 'on demand' - if so, how do you know what content to put into those pages? Is it simply static text as read from a Template? And if so, what would that Template say?
-- Jim R. Wilson
On 2/7/07, Jim Hu jimhu@tamu.edu wrote:
Hi,
I'm thinking about writing an extension...and I haven't really done one totally from scratch yet, so please forgive the waste of bandwidth if I'm missing something in the documentation...and the length of this message.
Here's what I want to do and why. I'm running some wikis related to biology/genomics. We use Cite.php, and I'd like to automatically create pages for the references cited by citations in Cite. php. I've already modified Cite so that if someone enters "PMID:<id number>" as either the input text or the name= part, a block of code (essentially an extension of Cite where I've added a "hook" in Cite.php) goes to Pubmed, retrieves the detailed information about the citation and substitutes the reference text.
For example, if you have
<ref name='PMID:2167309'/>
as the third citation, the reference that shows up is
3. ↑ Rathod PK & Khatri A (1990) Synthesis and
antiproliferative activity of threo-5-fluoro-L-dihydroorotate. J Biol Chem 265:14242-9 PMID:2167311
I like this because it reduces markup clutter that is a criticism of Cite. The next thing I want to do is change the external link to Pubmed to an internal link to a page in the wiki, where users can add commentary about the reference. These pages will be stubbed with more information from Pubmed, including a template, the abstract, and the reference. I'm thinking of two possible strategies:
- Run something that creates the page (if needed) when the parser
renders a page with a <ref> tag. 2) Run something that creates the page (if needed) when a user clicks on the link in the references section
These aren't mutually exclusive, of course, but what I like about #2 is that I don't create pages unless someone actually wants to look at them (upon reflection, this may create pages when the search engines hit the links, but that may be OK) and, more importantly, I think this can be done so that the page will be created if someone searches for the reference and the citation doesn't already exist.
The way I'm thinking of doing this is to hook into AlternateEdit and branch off to something that grabs the desired template from the templates namespace, populates the wikitext with data, saves it, and redirects to the saved page. Questions:
Q1) Am I nuts? (default=true) Is there anything that I'm forgetting that will make this blow up? Q2) Is that the right place to hook? Q3) What's the best way to do the create/save/redirect step? Q4) Has anyone already done something like this that I can adapt? Q5) Would this be useful to anyone else?
For Q2 and Q3, I don't want the user to see the edit form. I want it to look like the page was there all along. For #3 I have a kludgy way to do it: create the page as XML and run maintenance/importDump. There must be a better way, right? Thanks for any advice.
Jim
Jim Hu Associate Professor Dept. of Biochemistry and Biophysics 2128 TAMU Texas A&M Univ. College Station, TX 77843-2128 979-862-4054
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org http://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org http://lists.wikimedia.org/mailman/listinfo/wikitech-l