Site-specific datamining edit

  Work in progress; comments welcome
 – The date is contained in the meta data tags. Scraping is possible and should be available in either the next revision, or the one after that.

[As note above] this is what I got from a NYT article I used it on:

<ref>{{Cite web|url= http://query.nytimes.com/mem/archive-free/pdf?_r=1&res=9F02E7DF143EE73BBC4151DFB7668383669FDE|title=THE NEW BILLIARD EXPERT.; MR. 'YANK' ADAMS' FIRST ... - View Article - The New York Times|first=|last={{Err|{{authr?}}}}|work=query.nytimes.com|year=2010 [last update]|accessdate=February 1, 2010}}</ref>

Can it scrape the date? The date for any newspaper citation is never "2010" of course. --Fuhghettaboutit (talk) 05:09, 1 February 2010 (UTC)Reply

For now anyway, the date is something that will need to be manually fixed. For known news sources, the date will (in 1.4) actually show up as an error if it is not manually fixed, for the very reason you point out; for cite web sources, the year is okay as a default, but not for online newspapers, which always give a full date for every article. Obviously, the title will need also adjusting if the site adds "... - View Article - The New York Times" crap. Given enough time, I can script that kind of stuff away, I suppose, but the problem is that if it ever changes by even one character, then the script will have to be updated. For NYT in particular and some other newspapers, I could probably scrape the date (I'd be surprised if it were not in a span or div I could identify by name/id), but the same caveat applies that if NYT ever changes anything about this, then the tool breaks. Something I'll consider for 1.5.
SMcCandlish Talk⇒ ʕ(Õلō Contribs. 19:46, 1 February 2010 (UTC)Reply
This is a pdf file. I have done nothing about getting information out of pdfs. Fortunately, the date information is contained in meta data tags in the page. Geting data from the meta tags is already something that can be scraped. You should be able to do this in either the next release or the following one. In the current development version, with the options set as I currently have them for testing the following is produced (note: I did click the button to replace the AUTHOR ERROR, and the one to archive the page):
<ref name="NYTquery-7583044">{{cite news
 | url         = http://query.nytimes.com/mem/archive-free/pdf?_r=1&res=9F02E7DF143EE73BBC4151DFB7668383669FDE
 | title       = THE NEW BILLIARD EXPERT.; MR. "YANK" ADAMS' FIRST PUBLIC EXHIBITION IN THIS CITY--A BRILLIANT DISPLAY OF FANCY SHOTS--A CHALLENGE FROM MR. IZAR TO PLAY FOR THE CHAMPIONSHIP. MR. COLFAX ON ABRAHAM LINCOLN. CHURCH DEBTS IN BROOKLYN.
 | work        = [[The New York Times]]
 | date        = January 29, 1878
 | publisher   = [[New York Times Company|NYTC]]
 | location    = [[New York, NY|New York]]
 | issn        = 0362-4331
 | accessdate  = February 18, 2014
 | first       = 
 | last        = <!--Staff writer(s); no by-line.-->
 | archiveurl  = //web.archive.org/web/20140218095006/http://query.nytimes.com/mem/archive-free/pdf?_r=1&res=9F02E7DF143EE73BBC4151DFB7668383669FDE
 | archivedate = February 18, 2014
 | deadurl     = no
}}</ref>

Most of the data above is as it would have been provided in the earlier Cite4Wiki versions. The date is new, as is the "=" signs being lined up (optional). This particular page did not contain any author data. There are multiple articles contained in the pdf on the page referenced, you will probably want to edit the cite to remove the ones you are not referencing from the title. This citation was 4 clicks: Cite4Wiki icon in Firefox toolbar, replace author error, archive, copy to clipboard. Archiving could have been set to occur automatically. I still need to code it to change from |first= |last=<!--Staff writer(s); no by-line.--> to |author=<!--Staff writer(s); no by-line.-->. Makyen (talk) 10:14, 18 February 2014 (UTC)Reply

Code formatting options edit

  Work in progress; comments welcome
 – Options to display the citation in either vertical or horizontal format will be available in the next version

I like the vertical formatting, but start lines with the vertical rule, a space, then the arg. Cheers, Jack Merridew 07:21, 1 February 2010 (UTC)Reply

The " |foo=" vs. "| foo=" issue is one of personal preference. I've gone with the most readable option, to me, and both seem to be common, as is "|foo=", " |foo =", "|foo =", "| foo =", " | foo =", and so on. The parser doesn't care. Without creating a really complicated prefs panel, I can't account for all of these tastes (it actually gets worse - some people want horizontal layout, but also want very particular spacing before "|" or after it or both or neither and before "=" or after it or both or neither, sometimes with matching options for each of the two characters and sometimes not, and so on and so on). I think it would be far more valuable to spend at least my developer time on more customized site filters that fill in correct source-specific values, but if someone wants to develop such a XUL preference window for the add-on, then please join the project. — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 19:46, 1 February 2010 (UTC)Reply
Such a prefs panel would be messy work and we really don't want too many personal prefs pumped into the database. I also use spaces on either side of the '=' and will sometimes line the '=' up into columns for better readability. These are all habits that originating in coding real code. Here's an example of how I prefer cites to be formatted (scroll down a bit; there are a bunch). Cheers, Jack Merridew 20:38, 1 February 2010 (UTC)Reply
Yeah, I know some people prefer that, but I don't (too much useless whitespace that doesn't really help readability enough to make it worth it) and I'm not willing to change the tool to use someone else's preferences, all other things being equal. If MOS ever comes up with code style guidelines, I'll have the tool do what those say. I have no objections to a prefs panel for this stuff, but won't build it myself, at least not any time soon. "Real code": Depends on the code. I absolutely positively hate it when people space [X]HTML code like this, but I also hate it when they don't do that with PHP and JS. Different standards (written and otherwise) apply to different languages, and differ depending upon your coding community and background, too (there's even more than one school of thought on how to format C code, with some preferring variation from the K&R style). I.e., it's a can of worms I don't really want to open. :-) — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 21:56, 1 February 2010 (UTC)Reply
By request of others, including Unit 5 (talk · contribs), I'll have it do both vertical and horizontal formatting. At least for the short term, these will be separate plugins until I can figure out the preferences panel code in XUL. Spacing options will have to wait until then. Or – hint, hint – someone with some good XUL skills could volunteer to help out... — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 19:40, 9 February 2010 (UTC)Reply
Multiple options for code formatting will be available in the next release. This includes vertical and horizontal formats and if a space is used in the following locations "X|XdateX=XvalueX". Separate space configurations can be specified for vertical an horizontal format. In vertical format the "=" can be lined up. Makyen (talk) 10:14, 18 February 2014 (UTC)Reply

Feature request/suggestion: WebCite edit

  Work in progress; comments welcome
 – Implemented in the next version

It is also a good idea if a website that is being used as a citation is archived in some manner. WebCite.com does this free of charge and is also listed on Wikipedia:Citation tools. It would be nice if Cite4Wiki would, in addition to building the text for a citation, cause the site to be archived and include a pointer to the archived location within the cite. Makyen (talk) 07:05, 8 July 2010 (UTC)Reply

Agreed. That should definitely make it into a revision soon. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 02:52, 29 December 2012 (UTC)Reply
WebCite (webcitation.org) publishes a JavaScript bookmarklet themselves that we can recycle:

javascript:void(location.href='http://www.webcitation.org/archive?url='+escape(location.href)+'&email=username@site.tld')</nowiki>

The results page as long as it doesn't change much in format can probably be easily scraped; the archive URLs are found in code that, in relevant part, consistently looks like this:

An archive of this page should shortly be available at </p><br /><p><a href=http://www.webcitation.org/XXXXXXXXX>http://www.webcitation.org/XXXXXXXXX</a></p><p>

where XXXXXXXXX is a random character string (I don't know if it's always 9 characters). Since the results page gives the URL that would be e-mailed to you, the e-mail address in the bookmarklet script is actually unnecessary (I don't know if the receiving code on the site's side will work without being passed an e-mail value, however – it might have to be set to a dummy address).

This will probably have to be done in a pop-up window that we then use JS to close, but this also means that pop-up blockers will interfere with it unless and until the user creates an exception in this for Cite4Wiki. However, there's surely a way to get the add-on to do this in the background with JSON or something (the way various add-ons get data from Amazon, or whatever, without relying on pop-ups); it's not the sort of thing I've ever tried, myself.
SMcCandlish  Talk⇒ ɖכþ Contrib. 09:00, 30 December 2012 (UTC)Reply

A further complication is that WebCite craps out sometimes:

Warning: mysql_pconnect() [function.mysql-pconnect]: Too many connections in /home/webcita/public_html/lib/adodb/drivers/adodb-mysql.inc.php on line 367
DB Connection failed

Any routines that try to scrape data from it have to be fail-safe. — SMcCandlish  Talk⇒ ɖכþ Contrib. 11:06, 30 December 2012 (UTC)Reply
Given that this was my own request, it has been implemented in the next release. Two archive sites are supported archive.org and webcitation.org. I intend to make this user extensible, but that is a relatively low priority. Makyen (talk) 10:14, 18 February 2014 (UTC)Reply

Prevent adding author and year edit

  Work in progress; comments welcome
 – Easier handling of the last modified date and the author error field will be in the next version. It is unclear if generic scraping for date and author will be in the next version, or a later one.

I'm sure this was asked before, but is there a way to prevent the addon from adding the author field when it does not exist and year field when it is only the last update year? I fined it very annoying that I need to keep removing these two fields. Other than that, I wholly enjoy using it. --Muhandes (talk) 08:24, 29 June 2011 (UTC)Reply

I Agree. It pretty much always ends up with "year=2011 [last update]" which is often worse than having nothing at all as it implies that the article was updated in 2011 when it will most likely not have been, probably just some minor page elements. Also giving a big ERROR for missing author is not appropriate, because some articles published by organisations do not reveal a specific author.--Pontificalibus (talk) 16:57, 29 July 2011 (UTC)Reply
Date: This would not be hard to disable, but I'd like to see a wider consensus of people asking for it to be removed. Not everyone will agree that having the last-modified date as a default that you can easily remove is "often worse that having nothing at all". Even if a preponderance of users don't want this feature, I'd still like to retain it as an option, since I prefer it myself, and I'm sure some others do as well. In the interim, please ensure that if you know the year of publication you add it in. The point of the default date is to ensure that something is there. If I disable that code, I'll have to replace it with a warning that the year is missing, and people will need to either replace that with the year, or with an HTML comment that the year is unknown, so later editors know it was not omitted out of error or laziness.
Author: The author field never exists except as a note to add the author; the add-on has no way of identifying the author on random pages, since there's no globally consistent way to present that information as metadata. There's no safe way around the author error thing. It is 10× more important to ensure that editors do not omit the author when that's actually available, than to stop warning about missing author info just because it bugs someone. The vast majority of articles online do provide author information. Where they do not, you should put in something like <!--Staff writer(s); no by line.--> in place of the error, so that later editors know that you did not omit the author by mistake and don't go looking for it. I won't make a tool that semi-automatically helps people write broken, incomplete citations just because they can't be bothered. This template intentionally bothers you about certain things because they need to be done (e.g. add authors or add a note that authors are unknown, so you don't waste other people's time trying to fix the unfixable). If you hate this safety feature that much, you're free to unzip the the add-on and hack it yourself to stop using the missing-author error message. It's in cite4wiki.js; a line reading txt = txt + " |last=" + "{{err|{{AUTHOR MISSING}}}}";. If you are frequently citing, for many different articles, a source that never provides author information, I can add a special case for it, as long as it's a site you'll continue to keep citing. If there are any sources, incidentally, that particular WikiProjects depend on again and again and again, I can add those, too, in a section for the project. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 02:48, 29 December 2012 (UTC)Reply
I agree the year is problematic. People find it confusing (I saw someone even say it's "dishonest" once). I have no idea how to fix it though.
About the author, since we know the author is usually near the top of the page and sometimes will actually appear in the metadata, it would be great if the plugin could try to make an educated guess and have the user confirm it, or let the user pick from a list of things that might be the author. I hate messing with it after it's pasted in the edit window and having to count the right amount of curly brackets to remove. No More Mr Nice Guy (talk) 14:14, 29 December 2012 (UTC)Reply
Author info is frequently at the bottom, or latent somewhere (e.g. "posted by Bob", and you have to click through to Bob's page to get a real name, etc.) There is no way to "educate" this script – it is not an expert system/AI – so it cannot make educated guesses, it can only make totally blind ones, and I think that's likely to be more hazardous than helpful. Grabbing authors is something that is more likely to be plausible on a site-by-site basis, like getting it from BBC News articles, because they're consistently formatted, and so on. — SMcCandlish  Talk⇒ ɖכþ Contrib. 09:04, 30 December 2012 (UTC)Reply
Yeah, I was thinking news sites, not blogs. Maybe a list of meta tags that might include the author's name? No More Mr Nice Guy (talk) 09:27, 30 December 2012 (UTC)Reply
A user handling the cases where there is a missing author and/or a last modified date being used are much easier. Buttons now exists to replace or remove both (as separate actions). The user is now warned upon copying to the clipboard that these are still there. The options panel does permit disabling the insertion of the error text. However, that is not the default. Frankly, I am not sure I want to leave in the option to be able to disable inserting the error text. I added the option when I was making a bunch of cites where there was no author and prior to making the button to replace the AUTHOR ERROR text. Once user specified Profiles are easily available there is not nearly the case for having the option of not inserting the error text as currently exists.
In the recent development versions there is much more capable page scraping and better ways to fill these fields (meta data, picker). It is even possible to define a Profile for a particular site that prevents any particular parameter from being inserted by default. While it is not quite to the point where profiles are definable by end users, that is in development and should be ready in the reasonably near term. I want it, even for my own use. I don't want to have to modify the source code just to add a profile for a new site. Makyen (talk) 10:14, 18 February 2014 (UTC)Reply


Cite4Wiki for Chrome edit

  Unresolved
 – Variant not created yet.
  Moved from User talk:SMcCandlish

Hi there! I was just wondering if a Chrome port of Cite4Wiki was on the cards at all? I tried messing with the source code but I have no real knowledge of JS, XUL and the rest so can't really do anything about it. — Joseph Fox 15:39, 10 November 2011 (UTC)Reply

I hadn't thought of one, since I just use Firefox. Maybe after the stuff mentioned above is done a port will be easier. — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 00:42, 11 November 2011 (UTC)Reply
A year+ later, I still know jack-all about Chrome add-ons. The fastest and easiest route to this, and for other browsers, is to adapt the code into a bookmarklet. A nyone want to take this on? Even FireFox users who prefer the bookmarks toolbar to context menus will like that. — SMcCandlish  Talk⇒ ɖכþ Contrib. 11:56, 4 January 2013 (UTC)Reply
After I get this to a more stable version on Firefox, I will be looking at a Chrome port. The reality is that a large number of Wikipedia visitors use Chrome. Thus, a port is useful to a large number of people. Makyen (talk) 10:14, 18 February 2014 (UTC)Reply

Highbeam edit

  Unresolved
 – Basics done, but need more metadata scraping and one, or more, profiles.

Any chance this could be updated to support HighBeam cites? See Wikipedia:HighBeam/Citations. No More Mr Nice Guy (talk) 01:04, 28 July 2012 (UTC)Reply

Yes, but about all I can do with that is set |publisher=via [[HighBeam Research]] {{Subscription required}}, and in many if not most cases, a correct publisher needs to be inserted before this. Title data will need to be checked, and author and work (i.e. newspaper/journal) information will also have to be set manually, along with the real publisher when that's identifiable. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 02:25, 29 December 2012 (UTC)Reply
I've added it into the codebase. The next version I upload to the Firefox Add-ons site will include this. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 02:26, 29 December 2012 (UTC)Reply
  Moved from User talk:SMcCandlish

Hello, I was wondering if you're still working on cite4wiki? If you are, would it be possible to update it to recognize it's on a highbeam.com URL? They have a few meta tags that include all the information needed for a cite. It would be very helpful. No More Mr Nice Guy (talk) 05:36, 13 August 2012 (UTC)Reply

[Y]ou don't have to wait for me. Just open the add-on (rename it with a .zip extension and it will unzip), and edit the rules file yourself. It's pretty much self-explanatory if you look at the extant examples. Then zip it back up, and rename the extension back, and restart the browser. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 05:52, 13 August 2012 (UTC)Reply
PS: I did not know it had metadata headers. Given that it does, I might be able to detect and fill out more! — SMcCandlish  Talk⇒ ɖכþ Contrib. 13:03, 4 January 2013 (UTC)Reply
I will take a look at this specific case when I am a little bit further along. Basically, I don't really want to pay for a membership, and I want to be in a position to really be able to use the 7 day trial offered. Makyen (talk) 10:14, 18 February 2014 (UTC)Reply

Firefox 17.0.1 edit

  Work in progress; comments welcome
 – This was basically resolved by the 1.5 release linked on the project page by {U

Not working in Firefox 17.0.1. It generates the popup with the ref but clicking either button doesn't close the window or copy the contents to the clipboard. If it were possible to copy from the popup this problem could be worked around, but unfortunately that's not possible atm. No More Mr Nice Guy (talk) 21:23, 2 December 2012 (UTC)Reply

  • Same problem with Firefox 17.0.1., no possibility to clicking and copy... Thanks for this superb tool !--Remy34 (talk) 21:13, 10 December 2012 (UTC)Reply
I deserve very little credit; I mostly just added the feature to produce custom output for specific sites. Oh, and corrected an error in the output formatting; Pre-SMcCandlish versions were using |publisher= as if it were |work=. [begin rant] A lot of editors still mistakenly do this, as if, by way of analogy, Apple Records = The Magical Mystery Tour or Houghton Mifflin = The Lord of the Rings, I don't know why people would think nyt.com is a publisher rather than the website the New York Times Company publishes. [end rant]SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 03:27, 24 December 2012 (UTC)Reply
  • Experiencing the same issue with 17.0.1 currently - please remedy, and thanks for the great tool.--E8 (talk) 23:19, 10 December 2012 (UTC)Reply
  • Oh, my favorite citation tool rendered impotent. Very sad day. Jojalozzo 03:09, 13 December 2012 (UTC)Reply
Damn. I have no idea how to fix it, myself. Someone who knows the more modern Firefox plug-in API needs to take over development. This thing dates to something like FF 3.x, and is a port of a port. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 17:02, 20 December 2012 (UTC)Reply
Double damn... well it broke with the change to Firefox 17 so I think maybe one of the items mentioned on here is what did it in... Tabercil (talk) 17:56, 20 December 2012 (UTC)Reply
Makes my head hurt. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 03:20, 24 December 2012 (UTC)Reply
It turns out it's a trivial problem of obsolete code. I have fixed this and packaged a gonzo version 1.5 you are welcome to grab here and test/verify it works for you. I'm happy to update the official tree, and indeed am willing to co-maintain this plugin henceforth (I have some ideas for improvements, too), if the current maintainer is interested. Ijon (talk) 01:05, 28 December 2012 (UTC)Reply
You bet! I'll try to test this tomorrow, and hopefully others already have been. I have a lot going on IRL right now, so it might take more than one day to report back here. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 09:32, 28 December 2012 (UTC)Reply
In the short term I can confirm that basic functionality does in fact work properly in Firefox 17.0.1 on Mac OS X 10.8.2! Woot! Other quick thoughts: Someone suggested forking this into a bookmarklet version for a) everyone besides FF users and b) FF users that like bookmarklets better than context menus. Also, we should probably set up a code repository for this stuff, e.g. at SourceForge or whatever. More tomorrow, hopefully (I'm in the middle of some time-sink architectural stuff at least until midday). — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 09:43, 28 December 2012 (UTC)Reply
I've put up the code with my update on GitHub for now. Ijon (talk) 20:48, 28 December 2012 (UTC)Reply
Actually, it is in the MediaWiki repository at http://www.mediawiki.org/wiki/Special:Code/MediaWiki/101770, if that helps. That's the old, broken version. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 01:02, 29 December 2012 (UTC)Reply
Sure, that's what I based my fix on, but I prefer git, and perhaps we can migrate this to WMF's git repos now. Ijon (talk) 02:18, 29 December 2012 (UTC)Reply
That sounds like a good plan. I have already made changes (to your copy), but I can commit them where ever. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 02:50, 29 December 2012 (UTC)Reply
I've requested a repository space for Cite4Wiki over at labsconsole.wikimedia.org (well, technically it was at http://www.mediawiki.org/wiki/Git/New_repositories/Requests – I really wish they'd consolidate these servers), though I can't for some reason actually log in to gerrit.wikimedia.org yet. — SMcCandlish  Talk⇒ ɖכþ Contrib. 08:11, 29 December 2012 (UTC)Reply
I can confirm the fix from benyehuda.org works on FF 17.0.1 on windoze 7 32bit. Will be able to check 64bit next week if necessary. Thanks and let me know when you want suggestions for new features... No More Mr Nice Guy (talk) 13:58, 29 December 2012 (UTC)Reply
I can handle additions of more custom sites, but that's about it for now. For serious features, the whole thing probably needs to be redeveloped. It's almost all years-old code, and some of it's even dead code, left over from whatever add-on Unit5 used has his base to work from (I think it was an old version of AdBlock Plus). — SMcCandlish  Talk⇒ ɖכþ Contrib. 15:28, 29 December 2012 (UTC)Reply
Some months, yet version 1.4, not working on firefox 23.0.1 either, is still posted at Mozilla Add-ons. The version 1.5 that was posted by Ijon works for me as well. Can we push this version onto the Add-ons site until a new version is ready? I added a link to this version on the Cite4wiki page. Bcharles (talk) 11:37, 10 September 2013 (UTC)Reply
No version can be pushed to Cite4Wiki on Mozilla Add-ons without one of the people defined as a Cite4Wiki developer on that site doing it. I have contacted SMcCandlish asking to be added to the list of developers there. If that does not happen, I will put a version up under an alternate project name. Basically, I want a functional version of Cite4Wiki to be on Mozilla Add-ons. I would prefer that it is under the current name, but it may have to be under something like "Cite4Wiki Phoenix". Makyen (talk) 10:14, 18 February 2014 (UTC)Reply

Cite4Wiki and Jetpack edit

  Moved from User talk:SMcCandlish
 – This is an old thread, but doing what it suggests may be very helpful.

I saw Cite4Wiki mentioned on foundation-l and, on downloading it, noticed that it wanted me to restart and hadn't been updated to the latest Firefox. I'm going to go look at your code, but I thought you might be interested in Jetpack to help you with maintaining the extension since it would mean you wouldn't have to worry about Firefox versions or force people to restart Firefox to get it to run. I happen to be good friends with the guy who runs the project, so even if you aren't interested, I'm going to see what it would take to get Cite4Wiki ported to run there. — MarkAHershberger(talk) 16:44, 2 November 2011 (UTC)Reply

Sounds good! It needs work. For one thing, it needs a proper settings window that allows you to set options like whether to use vertical or horizontal formatting. I never did figure out how to do that (previous author apparently didn't either). — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 23:43, 2 November 2011 (UTC)Reply
Do you have a source code repository somewhere? I'd like to work from that if I could. — MarkAHershberger(talk) 00:18, 3 November 2011 (UTC)Reply
Not yet, but good idea. I still have a SourceForge account, so I guess I can use that. Is everyone using Git these days? They offer Git, SVN and Mercurial but not CVS any longer. Looks like I need new version control software... Any preference? — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 00:43, 3 November 2011 (UTC)Reply
If you don't have a preference and don't currently use a VCS, then I'm going to say git. Not that it is easy (Torvalds isn't know for creating easy-to-use software), but it is pretty good. And we can pull from each other. I think I can get a repository set up in git hosted by the WMF. I'll probably end up putting it there anyway, unless you have some objections — MarkAHershberger(talk) 01:07, 3 November 2011 (UTC)Reply
But, now that I think about it, would you mind if I put it in the SVN repo hosted by WMF? I can do that right now. I'm not sure if I can do gerrit right now.
Sure. I honestly don't even use SVN yet; I've been using CVS since the dawn of time. Which of the post-CVS alternatives to use isn't something I have a set mind about. :-) IIRC, the version that's publicly available is stable but missing some stuff I've added to it. I guess I can commit that stuff later as a beta. I haven't touched it in 6 months, so I don't remember where I left off anyway. — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 01:15, 3 November 2011 (UTC)Reply
Ok, committed. Now, to understand Jetpack. — MarkAHershberger(talk) 14:53, 3 November 2011 (UTC)Reply
Also, you should apply for Commit_access. — MarkAHershberger(talk) 15:08, 3 November 2011 (UTC)Reply
Okay. And vice-versa, you should register as a Mozilla add-on developer, so I can give you access to the "official" distribution channel. — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 15:15, 3 November 2011 (UTC)Reply

You asked what I've been doing. I got started a lot on it, but got discouraged. I'd like to get some feedback on it, though, if you have some time. -- MarkAHershberger(talk) 13:04, 13 August 2012 (UTC)Reply

Where should I start? — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 20:11, 13 August 2012 (UTC)Reply
I'll try to get you some information tonight. (Making a note here so that you can remind me if you don't hear from me for a bit.) -- MarkAHershberger(talk) 20:16, 13 August 2012 (UTC)Reply
No hurry. I'm in the process of moving cross-country, actually. If we deal with this in September, no worries. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 22:36, 13 August 2012 (UTC)Reply
Since I didn't get to it last night, I appreciate the timeline you've given me. I'll try to put it on my schedule, but, yeah, right now is kind of hard. -- MarkAHershberger(talk) 13:10, 14 August 2012 (UTC)Reply
I feel ya. — SMcCandlish   Talk⇒ ɖ∘¿¤þ   Contrib. 23:40, 14 August 2012 (UTC)Reply
I think we both dropped the ball on this one. Where's this at right now? — SMcCandlish  Talk⇒ ɖכþ Contrib. 13:05, 4 January 2013 (UTC)Reply
I've picked this up. I have a minimal Jetpack rewrite working, and am porting over the UI and niceties now. Updates soon. Ijon (talk) 23:05, 10 January 2013 (UTC)Reply
First usable addon ready! :) Code here; Installable addon here - no need to restart Firefox, yay! :) Feedback welcome. (date format and other features to come later.) Ijon (talk) 02:04, 11 January 2013 (UTC)Reply

Great! How can I continue to add things? I tried to add Highbeam, etc., to your previous GIThub repository version and it would not let me. This needs a home, with multi-developer commit access. It would also be useful to extrapolate the guts of this into a Javascript bookmarklet so the basics of it can be used in other browsers. — SMcCandlish  Talk⇒ ɖכþ Contrib. 01:23, 27 January 2013 (UTC)Reply

Oh, certainly! I just didn't know your GitHub user. You now have commit access. By all means go ahead and make progress. I'm occupied with another project for a couple of weeks. Ijon (talk) 22:18, 30 January 2013 (UTC)Reply
Added Mark too, in case he's still interested. Ijon (talk) 22:21, 30 January 2013 (UTC)Reply
It seems that the way GitHub is set up, anyone can fork a project, then tinker with their fork. And when they have committed some changes, they can make a pull request to the host of the original code to merge those changes. It seems to be designed to reduce friction and keep a low threshold of involvement on open projects like this. So let's get some forks stirring on the Next Generation of Cite4wiki. Bcharles (talk) 13:33, 10 September 2013 (UTC)Reply
Helo we have a problem with the Firefox version 32.0 and cite4wiking, can you resolve this ? Thanks for this tool--Remy34 (talk) 09:14, 6 September 2014 (UTC)Reply

Looking for technical mentors and tasks for Google Code-in edit

Hi, I'm one of the Wikimedia org admins at mw:Google Code-in. We are looking for technical tasks that can be completed by students. John Broughton suggested at Village pump (technical) the idea of listing tasks related to Cite4Wiki fixes. We also need mentors for these tasks. Would someone want to step in? You can start simple with one mentor proposing one task, or you can use this program to organize a taskforce of mentors with the objective of getting dozens of small technical tasks completed. You can check the current Wikimedia tasks here. The program started on Monday, but there is still time to jump in. Give Google Code-in students a chance!--Qgil (talk) 16:11, 21 November 2013 (UTC)Reply

Thanks for the invitation, Quim. Unfortunately, it looks like there is currently not enough energy behind this project. It appears I am the only one still interested, but I have not been able to devote any time to it, due to other pressing commitments. Once I find some time to move this Jetpack rewrite forward, I'd definitely be interested in mentoring opportunities. Ijon (talk) 02:02, 6 December 2013 (UTC)Reply

Working on a new version edit

I have been working on a new version for a while now. It started out as just a quick hack so I did not have to keep remembering to remove/substitute the "{{err|{{AUTHOR MISSING}}}}" and "[last update]" tags in the author and date parameters. Then I wanted automatic archiving. Then... It has grown into a considerable task as I have been continuing to define what I wanted to see in the extension. This post is just a heads up that I am working on a new version. Mostly this is to hopefully prevent any additional duplicated effort.

The base I started from was the 1.5 version mentioned on the project page. I did not start based on the Jetpack version discussed above. By the time I admitted to myself that I was putting a lot of work into this it was a bit late to go back to a version which appears to have not been updated in a year, or so, and which is not stated as having reached functional parity with the most recent version of Cite4Wiki available for download. I know this is the direction that some others desired to go. Currently, I am in the middle of adding functionality. When I get to a point where it is stable, I will look at JetPack.


What is done so far:

  • Buttons to remove/replace author error, last modified, date error, title error,
  • Replacement is with a user defined string (options dialog) author default is "<!--Staff writer(s); no by-line.-->"
  • Created options dialog
  • Horizontal/Vertical/Vertical with lining up "=" is now both in the options and cycle through via a button on the UI
  • Spaces around parameters and parameter values are options and can be specified differently for horizontal and vertical layouts
  • User has option (option dialog) to have the display in the textbox be in vertical format for easier editing and automatically switch to horizontal format prior to copying to clipboard.
  • Option to use vertical format (1 line per parameter) if there is an error (e.g. no author determined)
  • Automatic and semi-automatic archiving of cited page (currently option of two sites: archive.org and webcitation.org)
  • Option to automatically archive every time the Cite4Wiki window is opened only archive when button pressed
  • Can view the archived page (automatically, or as a button click). Can be in new tab or new window.
  • Button to revert changes to the version as it was when the window opened, or if archiving has been done to the version at the time the archiving took place.
  • Swap date format (US/non-US) button: The button toggles the date format used in the textbox.
  • Added Firefox Toolbar buttons to initiate citing a page, standard Firefox movable/configurable buttons (in addition to current context menu).
  • Added icon for Cite4Wiki window


Ok, that is basically where the stable version is. There is more...

Coded and working:

  • Basic GUI, one line per parameter.
  • Meta tag selection for parameters in GUI (click button: list of meta tag contents is shown for user selection)
  • Picker: click button then mouse over to window containing site you are citing, click on field containing the data to use for the parameter.
  • This method of selection is easier to use to programmatically develop a new Profile based on user selections than if the user copy & pastes, or drags & drops.
  • Drag & drop (just functionality inherent in having the GUI with 1 entry per parameter)
  • State machine driven page scraping.
  • Allows a profile to be defined by site to scrape the page for information for any parameter (e.g. publication date and author(s) ).
  • Text can be scraped from the page based on tag/properties/etc., then manipulated (split, replace (regex), etc.)
(this is expected to be extended to recognize schemes, and have a better default scraping definition)
  • Profiles are written to disk in JSON format (reading profiles from disk is waiting on TemplateData parameter data integration).
  • This was the primary prerequisite for having extensible site profiles (i.e. parameter filling and page scraping defined on a per site basis which can be extended by the user).
  • Intent is to put the data in front of the user to make it easier for them to have a complete citation.
  • Automatic generation of reference "name" in <ref name=""> tag.
  • Basic selection of citation template to use (currently only selects "{{cite xxxx|" text, does not, yet, affect parameters presented)
  • Support for multiple authors when automatically scraped from page
  • Automatically split author names into first/last (obviously, can only do a best guess, as how to do so is variable throughout the world)


What is currently being worked on/soon:

  • Fetch Citation template parameter data from Wiipedia (TemplateData JSON structure on template documentation pages)(coded, fetch and interpretation working, but data not yet integrated into process)
  • integrate into GUI order of parameters
  • GUI:
  • user add and remove parameters (waiting on Citation template parameter data integration)
  • user option to switch from |last & |first to |author on a per author basis.
  • Full R/W from file capability for site profiles
  • Verify current site profiles


Planned:

  • Profile editing (at least a basic GUI version)
  • New profile interpolation based on user input while making a cite at a new site
  • Some of the basic information for this has been included in the code.
  • Profile sharing (amongst users) to/from central store??
  • Restartless (investigated what is needed, does not look too bad)
  • Change to using SQLite for profile storage
  • Moving to SQLite for most configuration data/information
  • Handle more specialized citation template types & auto-fill data where appropriate.
  • Many of these appear to be site specific and probably can be handled with just a Profile.
  • Automatic determination of publisher (and other parameter) links to Wikipedia pages for sites without profiles
  • Automatic/semi automatic determination of some parameters (ISSN, etc.) where reasonable.
  • GUI:
  • Indicate status of each parameter (user filled, filled from profile, error, etc.)
  • Scraping Wikipedia articles for reference data
  • Requires another GUI page, but can reuse current GUI for editing each citation
  • would allow more rapid testing of main citation GUI against multiple citations
  • could be used to semi-automaticly flush out bare Cite error: There are <ref> tags on this page without content in them (see the help page). tags into citations
  • could automatically detect dead reference links, and look for archives.
  • could find archives of referenced pages near time of last access and add archiveurl where available. If not available, create the archive.
  • Localization
  • Standard localization: Define strings as entities for replacement based on locale.
  • functionality on other Wikipedia sites/languages
  • Add schemes
  • use for sites without an domain profile, based on page data
  • Add user definitions/profiles for archive sites (so that it is extensible)
  • support Memento?
  • Improve domain profile selection criteria (partially thought out, expected data structure coded, but not implemented)
  • Move sources to GitHub.
  • Port to Chrome


I have contacted SMcCandlish and asked to be put on the list of those who can submit Cite4Wiki versions to addons.mozilla.org. If that does not end up happening, I will release a version under some derivative name. Basically, I want a working version of Cite4Wiki to be available through the Mozilla Add-ons site. Makyen (talk) 05:16, 18 February 2014 (UTC)Reply

Not working on Firefox 36 edit

Well it does everything right including showing the reflinks but those links are not clickable or it does not copy it to clipboard..--Stemoc 22:11, 5 February 2015 (UTC)Reply

You can fix commenting the line "netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');" in files: /chrome/content/cite4wiki.js and /chrome/content/cite4wikiVertical.js--Pixelead0 (talk) 20:11, 13 December 2015 (UTC)Reply
I do not know how to find that line or file. My tool just quit working after a Firefox update to 43.0.4. A simpler explanation from anyone would be appreciated. Blue Rasberry (talk) 01:20, 15 January 2016 (UTC)Reply
I followed the instructions by user:Pixelad0 and had success. I did the following: I have here a file called cite4wiki@peeps.wiki.xpi. I changed the file extension from XPI to ZIP, and unzipped this into a subdirectory called cite4wiki@peeps.wiki. There I find the subdirectory chrome/content/ and in there the two files which User:Pixelad0 mentioned. I commented out this instruction "netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');" in both of them by putting a double slash "//" in front of it. Then I ZIPed the whole thing again under a different name (I added "_mod" to the base file name). Then changed the file name extension from ZIP to XPI and executed the file. Bingo. Thanks a lot to User:Pixelad0! --L.Willms (talk) 12:53, 17 January 2016 (UTC)Reply

How to install Cite4wiki NG? edit

BTW, I also downloaded the "NG" (New Generation) of Cite4Wiki from https://github.com/abartov/cite4wiking, but could not find how to install that new version. Any hint from somebody? I have just before this written an email to the Author, but have not yet received a reply. Should I receive a reply from him, I will pas it on to here. Cheers, --L.Willms (talk) 12:53, 17 January 2016 (UTC)Reply

Interested in maintaining this add-on for UXP browsers edit

Hi, I just tested the 1.5 version of this add-on on Pale Moon and Basilisk, and it works fine on both of them. As such, I forked the repo on GitHub and I'm planning to make some quality-of-life patches, like allowing the user to choose whether to use vertical or horizontal layout, fix the output window size (since the scrollbars are showing), and make it work on SeaMonkey 2.53.

If the original authors have lost interest in this add-on, may I have permission to use this add-on's branding, i.e. the name, logo/icon, and add-on ID? Thanks, pandakekok9 (talk) 11:48, 7 April 2021 (UTC)Reply

@SMcCandlish: ping, since you're the main author. pandakekok9 (talk) 14:28, 7 April 2021 (UTC)Reply
@Pandakekok9: I haven't touched this in years, don't use Firefox any more (except when testing webdev stuff), and Firefox no longer uses the same plugin architecture (that old NPAPI/PPAPI shift). The code has been open and GPL (or some other freeware license) since the start, so anyone can do whatever they want with it. The original original author of the core guts of this wandered off years ago (and was weirdly hostile and uncooperative – he quit in a huff, as if he hadn't intended for it to be FOSS to begin with). I certainly don't feel proprietary about this, and do not object to you taking over the name, etc. I'm quite happy that someone wants to revive this and develop it further. Honestly, I thought it was just dead code by now. Hopefully this can also be made to work with Chromium-family browsers, too.

However, be aware that the abartov codebase you forked vastly pre-dates the version I released (which I don't think I ever put in a repo), and which was subsequently improved further by someone else. So you'd probably want to take the latest version available here (the benyehuda.org one), extract it, work its improvements into what you forked from the ancient repo, then build from that, or you'll end up either undoing improvements I and the later editor made, or redundantly re-doing them. As I recall, the plugin is really just a ZIP archive, whatever the extension, and is easy to open up to get at the goodies.

Some pre-emptive feature requests and such: On "allowing the user to choose whether to use vertical or horizontal layout", for the love of [whatever is sacred to you], please default this to horizontal, and include some kind note/warning at least once that vertical style is mostly reserved for WP:LDR use. It should even reset to horizontal at end of session probably but not after every use, since someone might be working on a whole bunch of LDR cites back-to-back. It hasn't been normal for about a decade now to use vertical citations in mid-text, and doing so is very disruptive for the ability of other editors to follow the paragraphization of the content when they're in source view. Also, we need to: put parameters in a sensible order; use whitespace sensibly (|first=Abe B. |last=Ceesdale |title=Foo: The Bar |date=20 June 2015 |work=Baz Quux |publisher=Snorkelweasel Media |url= https://example.com/blargh |access-date=8 April 2021}}); make sure we're not using any deprecated ones; and not use aliases of them when the base parameter name will suffice, since the aliases impede conversion between templates (i.e., use |work=, not |website=, |journal=, |newpaper=, |magazine=). Oh, and for all of those, if |work= is empty but |publisher= is not, this should either throw a warning that website names go in |work= and we only include |publisher= at all when it differs significantly from |work=; or just have the code output |work= instead. If both are present and are identical, |publisher= should be dropped. I can enter things over there as issues to track if you like, though first I think it's imperative for you to get the updated code out of the plugin and merge it into your fork's repo code.
 — SMcCandlish ¢ 😼  12:21, 8 April 2021 (UTC)Reply

There's probably something I should do at the Mozilla add-ons site, though at this point just killing the original listing and creating an all-new one is probably the best bet (I would imagine that the old one has negative reviews for not having worked right for years).  — SMcCandlish ¢ 😼  12:24, 8 April 2021 (UTC)Reply
Hello SMcCandlish, thanks for the response. Unfortunately I can't access the xpi you linked. It's 404ing for me. I also tried searching on the Wayback Machine for a working copy. No luck.

I already made the horizontal layout the default one, and the user have to either access about:config or the Preferences window from the add-on manager to enable vertical mode. I will add a warning about this option in the Preferences window though, as well as the window which shows the output code.

Feel free to add those feature requests as issues in the issue tracker. I think it would be easier for me that way. :)

And lastly, about AMO, I can't see the add-on on the Firefox add-ons site, so Mozilla probably delisted all add-ons that haven't migrated to WebExtensions. Though it might still be there, viewable only by you, if you log-in. pandakekok9 (talk) 12:33, 8 April 2021 (UTC)Reply

@Pandakekok9: Ah. Well, here is a ZIP-up of all the relevant code on my old Mac drive, where I developed this, back when. It doesn't have whatever Ben Yehuda did to it, I don't think, but I'm not sure. I see several dev versions in there, so maybe one of them was building on that. At bare minimum it will include the version that was uploaded to Mozilla. Do as you will with it, if any of it's of use.  — SMcCandlish ¢ 😼  18:33, 8 April 2021 (UTC)Reply
@SMcCandlish: Hi. The only thing that could be of use to me is the higher-res version of the icon from the old folder. The rest, well, is no longer applicable to me since they are obsolete (like the About files, which I removed to let the browser create its own About window instead). Maybe you could try contacting Ben Yahuda and ask if he still has the xpi? But at this point I'm not sure whether his changes could still be applicable to my fork, since I have made a lot of significant deletions on the code. Thanks, pandakekok9 (talk) 02:35, 9 April 2021 (UTC)Reply
I think I'll stop fretting, and will trust that you know what you're doing. :-)  — SMcCandlish ¢ 😼  02:39, 9 April 2021 (UTC)Reply
Ok, my fork is done now. At the moment you can try it by cloning the repo, checking out the 1.6 tag, and zip it up into an xpi. I will be submitting the add-on to the Pale Moon Add-ons Repository, which if approved, will be available for Pale Moon, Basilisk, SeaMonkey, Firefox pre-53, and (in the future) Borealis Navigator users to install. :D pandakekok9 (talk) 04:08, 11 April 2021 (UTC)Reply
Thank you for doing this, Pandakekok9! I unfortunately never made the time to complete Cite4WikiNG, so it is well that you worked off SMcCandlish's latest code. I'm glad it has a new caretaker now! Ijon (talk) 23:08, 24 January 2022 (UTC)Reply