Editing Talk:WikiDB

From TestWiki
Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
Some old discussion has been deleted. See here for diffs: [http://www.kennel17.co.uk/testwiki/index.php?title=Talk:WikiDB&diff=2046&oldid=2015].
+
This extension is really cool. Do you have any plans concerning external (read-only) queries to the database? --[[User:Martin|Martin]] 23:51, 10 July 2006 (BST)
  
== External queries ==
+
: Can you please expand on this - I'm not sure what you mean. --[[User:HappyDog|HappyDog]] 23:55, 10 July 2006 (BST)
Moved to [[WikiDB/Feature requests#External queries]].
+
  
== Count of records ==
+
:: Sure. Suppose I have wiki site which is primarily a user-editable database. Each wiki page may provide several database records (let's say information on sequences of proteins of a given family). There is some text which gives some information about the link between these database entries, that's the traditional wiki part. This cannot be put into the database because it's changing often, it may become large, and it doesn't have a meaningful format--the only field name which would be appropriate would be "comments". But the database records are essential for let's say the community of molecular biologists, who use client software to query and analyze the protein from the database. There may be wikis which want to use the database records as illustration, or maybe group the database records differently and comment on them. The idea is to not duplicate the database, but use feeds which would be updated and propagated from the source. My point of view comes from what I did for inserting bibliographic records (PMIDs from Medline and ISBNs from isbndb.org), in wikis: see [http://wikiomics.org/wiki/Biblio Biblio extension]. Someone also pointed out the [http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Wikicite Wikicite project]. I don't know where these folks are going exactly, but the idea is to build a database of bibliographic references. Have a look. --[[User:Martin|Martin]] 00:19, 11 July 2006 (BST)
Moved to [[WikiDB/Feature requests#Count of records]].
+
  
== Table Formatting ==
+
::: I haven't really given this any thought yet, and I will take a look at the links shortly, but on the surface what you say sounds quite plausible.  How I would implement this is to use a new action argument, e.g. $action=rawdata (or an existing action if a suitable one exists - raw?). So if you entered e.g. http://some.domain.org/w/index.php?title=Table:Companies&action=rawdata, you would get the data (and schema?) from the Companies table in a standard format, probably XML.  Does this sound like it would do the trick? (Bear in mind that if the table definition is altered, the XML output will change) --[[User:HappyDog|HappyDog]] 00:58, 11 July 2006 (BST)
Moved to [[Talk:WikiDB/Repeat tag syntax#Table Formatting]].
+
  
== Parser Functions & Other Extensions ==
+
:::: I was thinking of something like an SQL SELECT statement. More specifically, the only features that I think would be useful would be:
Due to the way that the WikiDB_Parse function was written, using a local parser it won't call into any extensions that have registered with the global parser (e.g. [http://meta.wikimedia.org/wiki/ParserFunctions Parser Functions]). However, I have replaced the Parse call with the following, and it seems to be working on my version 1.9.3.
+
::::* download the whole database for local use as you just mentioned.
 +
::::* select one or several records by giving one column name and passing a list of strings. All records for which one of those strings matches is selected.
 +
:::: I don't know if you can do this simply using MediaWiki. Basically the URL I would pass would be like http://some.domain.org/w/index.php?title=Table:Companies&action=rawdata&select_id=12,34,567 where id is a column name and 12, 34 and 567 are acceptable id values. Maybe it is easier to just write an independent PHP script which queries the database according to the CGI arguments which are found. --[[User:Martin|Martin]] 01:40, 11 July 2006 (BST)
  
<pre>
+
::::: I think that level of detail is outside the scope of v1, however you're right, it would be fairly trivial to write a PHP script to parse and manipulate the raw data dump, particularly if it is in a standard format such as XML (or, it just occurs to me, SQL - I'm sure that would be possible, and then you could simply import it straight into a traditional database... hmmm... interesting thought!) --[[User:HappyDog|HappyDog]] 02:45, 11 July 2006 (BST)
function WikiDB_Parse( $Input, $Parser, $LineStart = true )
+
{
+
                        $title = $Parser->mTitle;
+
                        $options = $Parser->mOptions;
+
                        $output = $Parser->parse( $Input, $title, $options, true, false );
+
                        return $output->getText();
+
}
+
</pre>
+
  
-[[User:Jacob|Jacob]] 16:49, 14 April 2007 (BST)
+
== Fetch and use elements of a table ==
  
: Looking at my code, a (slightly different) version of this function already exists.  As you don't give details about what code was there ''before'' your changes I'm not sure whether this is something I've already fixed, or whether you are pointing out something a bit more subtle.  If I don't hear anything else, I'll assume it's fixed, but if there are still problems then please let me know! --[[User:HappyDog|HappyDog]] 12:22, 19 February 2008 (GMT)
+
Hi!
  
== Using the <nowiki><repeat></nowiki> tag to display filtered/sorted Tables ==
+
As you know, I expect this extension for a long time.
Moved to [[Talk:WikiDB/Repeat tag syntax#Using the &lt;repeat&gt; tag to display filtered/sorted Tables]].
+
Beside his earlier stage, it is a very important step, if we think to use MediaWiki seriously, in my point of view.
  
== Versioning of WikiDB Extension Files ==
+
Well, my question is about fetch elements in the DB and use them in a infobox or elsewhere in a page.
 +
I think the '''&lt;repeat>''' tag may be used for that, but I think this tag automatically shows a table with the data fetched.
  
*Since this Extension is in continual development now toward v1 and will continue in development afterwards, I'd like to suggest a small change to ALL of your [[WikiDB/Files|WikiDB extension files]] to contain a Version number so that all of us using the extension can check back [[WikiDB/Files|here]] and quickly determine if there have been any updates to the files.  A version number can be attached to the $wgExtensionCredits array in each of your php files as shown below for another extension I have installed on my wiki.
+
What I need to do is something like:
  
 
<pre>
 
<pre>
$wgExtensionCredits['parserhook'][] = array(
+
This are the companies at the DB:
'name' => 'CreateBox',
+
<repeat table="Companies3" criteria="Name!=Microsoft" sort="Logo desc">
'url' => 'http://www.mediawiki.org/wiki/Extension:CreateBox',
+
  {{name}} is founded at {{founded}} and have a revenue of {{revenue}}
'description' => 'Specialized Inputbox for page creation',
+
</repeat>
'author' => 'Ross McClure',
+
'version' => '1.5'
+
);
+
 
</pre>
 
</pre>
  
*Also, what would be even more helpful would be to maintain current version numbers on all files on [[WikiDB/Files|this page]] so that all of us using this extension won't have to look in the file sources themselves for the version numbers.
+
which produces the next output:
 
+
  Intel is founded at USA and have a revenue of #N/A   
*Further, since you're working toward v1 right now and common version numbering starts with 0.x.y for pre-v1 release versioning, you could start a version number for your files at 0.1.0 or something similar.
+
  Apple is founded at April 2005 and have a revenue of $7.42
 
+
*Finally, would you consider opening up the development of this extension to the open-source community to allow the inclusion of other code developers/designers/contributors to help develop this extension?
+
 
+
Thanks!  -- [[User:Mdrayman|Mdrayman]] 04:31, 1 July 2007 (BST)
+
 
+
: The problem is that when I work on it, changes go live straight away which means that (a) sometimes the code is broken (hence my big warning) and (b) that it is too much work to do a version change on each update. I store the code in a local Subversion repository, so it would be fairly easy to add the SVN revision to the top of each file - this will probably do the trick.  There might be some way of outputting this in some central place as well, but I'm not sure.  I will have a think about it... Of course the real solution is to use a separate local testing server (which is what this was, originally, but it has since become the 'public face'), which is something else I might do when I have a bit of time to set one up. 
+
: Re: opening up the code - I am happy for people to make suggestions and to send me feature implementations or bug-fixes.  I am capable of handling patch files, complete source file with modifications or even just informal code snippets, and of incorporating the changes back into the main branch, and have already done so on a few occasions.  However for the time being I want to keep everything centralised here.  Once we get a bit nearer v1, and the spec. is more clearly defined (particularly re: syntax issues) I will look into adding it to the MW SVN code repository. --[[User:HappyDog|HappyDog]] 13:48, 4 July 2007 (BST)
+
 
+
:: I have added SVN revision tags to the files, which contain the most recent revision no. of the files.  I have also added a new feature to my WikiDebug extension to display this info in-wiki, and have added this functionality to the [[WikiDB/Files|files page]].  I hope this solves the problem for you (feedback is always welcome!) --[[User:HappyDog|HappyDog]] 00:50, 13 July 2007 (BST)
+
 
+
::: The latest version (which is not yet posted here) has also added code to display the version number on [[Special:Version]]. Check that page, and if a version no. is being displayed then I have updated the site with this new feature.
+
::: Regarding the overall versioning of the software, I have decided to adopt a scheme whereby I don't have to remember to update version numbers every time I update the files (as the update often happens automatically).  The revision number is automatically incremented with every change, plus there is a version number that I manually bump whenever there is a schema or stored-date-format change.  This will be available in the next version, when it is made live. --[[User:HappyDog|HappyDog]] 12:22, 19 February 2008 (GMT)
+
 
+
== Create Forms to fill in Table data ==
+
Moved to [[WikiDB/Feature requests#Create Forms to fill in Table data]].
+
 
+
== Hyperlink reference to Table:Name when editing page ==
+
Moved to [[WikiDB/Feature requests#Hyperlink reference to Table:Name when editing page]].
+
 
+
== Adding table properties within repeat tag ==
+
 
+
Moved to [[Talk:WikiDB/Repeat tag syntax#Adding table properties within repeat tag]].
+
 
+
== Some display suggestions ==
+
Moved to [[WikiDB/Feature requests#Some display suggestions]].
+
 
+
== Relationships between tables ==
+
Moved to [[WikiDB/Feature requests#Relationships between tables]].
+
 
+
==Empty tables==
+
Moved to [[WikiDB/Bugs#Empty tables]].
+
 
+
== Working with WikiDB and SemanticMediaWiki (SMW) ==
+
 
+
Hi,
+
I'm using Mediawiki v1.16. I am wondering if there is a way to integrate between those 2 above extensions.
+
I'll explain by simple example:
+
I created a new semantic form called "Form:Books" which contain 2 fields: book number and book name.
+
In addition, I created a related template called "Template:Books" and contain a simple <nowiki><repeat></nowiki> tag that based on "Books" table (WikiDB table).
+
Can I pass the form field and use it as a parameter for the repeat tag? In other words, I want to have a form that is based on a simple tables I defined under this WikiDB.
+
 
+
(booknum is the field name on Books table. booknumber is the field name on Books form):
+
<nowiki>
+
<repeat table="Books" criteria="booknum={{{booknumber}}}" />
+
</nowiki>
+
TNX a lot.
+
 
+
: Hi there.  This isn't really an issue with SMW as such, but more that WikiDB doesn't currently support &lt;repeat&gt; tags within templates in the way that you want (which affects many use-cases, not just SMW).  This is a feature I would like to add to WikiDB, but it is a non-trivial thing to implement due to the way templates work.  I am considering ways of approaching this, but I don't expect a proper solution for some time as it is hard!  Suggestions, tips or patches welcome... --[[User:HappyDog|HappyDog]] 07:42, 12 July 2013 (UTC)
+
 
+
:: Note that this should now be possible in WikiDB v4 (r906).  --[[User:HappyDog|HappyDog]] 00:52, 3 November 2014 (UTC)
+
 
+
== WikiDB & Cite Extensions ==
+
Moved to [[WikiDB/Bugs#WikiDB & Cite Extensions]].
+
 
+
== Empty string in criteria ==
+
 
+
Hello. How can I test empty strings in criteria of the repeat tag? It looks like simple <code><nowiki>criteria = "column_name = ''"</nowiki></code> does not work. Thanks. --[[User:Okino|Okino]] 11:34, 14 January 2014 (UTC)
+
 
+
: Good spot!
+
: I have updated WikiDB to allow this (v3, r856 <small>[[Media:WikiDB.zip|download]] &bull; [[WikiDB/CHANGELOG#r856|CHANGELOG]]</small>).  In this new version you can achieve what you want using <code>criteria = "column_name ="</code>, or <code>criteria = "column_name !="</code> to match non-blank values.
+
: Thanks for bringing this to my attention. --[[User:HappyDog|HappyDog]] 12:29, 15 January 2014 (UTC)
+
 
+
== Move page problem ==
+
 
+
Moved to [[WikiDB/Bugs#Move page problem]].
+
 
+
== Table Definition Oddities and Getting Unique Data Records ==
+
  
I have two questions I'm hoping you might be able to answer.
+
Maybe we can even use the '''&lt;repeat>''' tag with a additional template option, as in
 +
&lt;repeat table="Companies3" criteria="Name!=Microsoft" sort="Logo desc" template="Infobox company">
 +
&lt;/repeat>
  
One, I'm struggling with Table Definitions.
 
  
If I put say:
+
Best regards and again, thanks for your effort
  
<pre>> Edition:string
+
Ivo Almeida
> Deck:string</pre>
+
  
On the Table Definition page, the definitions will apply to the data correctly, but instead of displaying as a nice table of definitions it will display:
+
: Hi Ivo - the first example you give is ''exactly'' how I plan the repeat tag to work!  I have not coded it yet, but basically the contents of the repeat tag will be repeated for each row, with variable substitution working the same way as for templates (I may even harness the template code to do this, if that is possible...).  If you want to [[Special:Emailuser/HappyDog|send me]] your e-mail address I will let you know when this change is in place.  Alternatively, just check back here from time to time.  Thanks for your interest.  --[[User:HappyDog|HappyDog]] 17:20, 20 September 2006 (BST)
  
<pre>> Edition:string > Deck:string</pre>
+
:: I added this functionality a little while ago, but forgot to update this page.  There are still a few bugs which need to be ironed out, but the general case works. --[[User:HappyDog|HappyDog]] 19:10, 1 December 2006 (GMT)
  
On the page. I'm not sure what I'm doing wrong here. (Or if the person who maintains the wiki installed things wrong.)
+
== WikiDB hate math? ==
  
Two, is there a way to output only unique entries?
+
It's imposible to use math and WikiDB on one page.
 +
My wiki have a lot of math formulas. I try build special dictionary using WikiDB. If I put on page list of WikiDB records, then any math no works on this page. :((
 +
I use MimeTeX as cgi. --[[User:195.16.88.26|195.16.88.26]] 16:03, 22 January 2007 (GMT)
  
Like if I have:
+
: Hi - Can you give me an example of the markup that you use so that I can investigate further.  Thanks --[[User:HappyDog|HappyDog]] 16:54, 22 January 2007 (GMT)
  
* Name: Testing 1
+
Thanks for interest. WikiDB is very pleasant extension. I contrive now, how to do nice search for it and it will be beatifull then.
* Name: Testing 1
+
* Name: Testing 2
+
* Name: Testing 2
+
  
Is there some way I can get an output of:
+
Test page with WikiDB (You can destroy this page, it's only test for you):  
 +
http://www.astro.hg.pl/wiki/algorytmy/index.php?title=Test_WikiDB%26Math
  
Testing 1, Testing 2
+
The same original page without WikiDB:
 +
http://www.astro.hg.pl/wiki/algorytmy/index.php?title=Ascendent_i_Descendent
  
Instead of
+
Link for separate page with DB list is no problem here. I only sygnalize you conflict.
  
Testing 1, Testing 1, Testing 2, Testing 2
 
  
?
+
Definition of DB:
 +
http://www.astro.hg.pl/wiki/algorytmy/index.php?title=Slownik:Slowka
  
[[Special:Contributions/74.65.72.174|74.65.72.174]] 23:39, 23 May 2021 (BST)
+
Definitions of listed records:
 +
http://www.astro.hg.pl/wiki/algorytmy/index.php?title=S%C5%82ownik:Ascendent
  
: Hi there - thanks for getting in touch.
+
It can be even :<math>a</math> and listing of one record of DB. Effect is identical like definition of data and listing on the same page: error type �UNIQ35cb8610deb4633-math-4952b6c343f9c54300000002-QINU instead of formula.--[[User:195.16.88.26|195.16.88.26]] 21:04, 22 January 2007 (GMT)
: Re: Your first question - If your table definition is displaying the &gt; characters, then you are not entering into a page within a table namespace.  Your wiki should be configured  to have at least one table namespace, as per [[WikiDB/Installation#Define table namespaces|the instructions on this page]]. Either this has not been set up correctly, or the page you are editing is not within one of the table namespaces you have defined.  If you want to experiment with how things ''should'' work, then feel free to run some tests on this wiki.
+
: Re: Your second question - There is not currently a way to do this, but it is a good feature suggestion. I have added it to [[WikiDB/Feature requests#Distinct values|WikiDB/Feature requests]].
+
: --[[User:HappyDog|HappyDog]] ([[User talk:HappyDog|talk]]) 23:29, 22 June 2021 (BST)
+

Please note that all contributions to TestWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see TestWiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)