版本路线表 | ||
---|---|---|
版本号 | 更新日期 | 重要改动备注 |
v0.10 | 20141102 | 创建 |
v0.11 | 20141104 | 容错性与友好性 |
v0.12 | 20141105 | 友好性 |
v0.13 | 20141116 | 友好性 |
v0.20 | 20141117 | 功能:集中打包下载 |
v0.21 | 20141120 | 容错性与友好性 |
v0.22 | 20141123 | bug fix |
v0.30 | 20141125 | 功能:参考文献格式生成 |
v0.31 | 20141126 | 功能扩展 |
v0.32 | 20150113 | 功能扩展 |
v0.40 | 20150321 | 功能扩展:RIS解析 |
v0.41 | 20150402 | 容错性:新文章命名 |
v0.42 | 20150403 | bug fix: ris结尾解析 |
v0.43 | 20150424 | bug fix: ris关键词解析 |
v0.44 | 20150519 | bug fix: Journal short解析 |
v0.50 | 20150714 | 重要功能扩展 |
v0.51 | 20150728 | 功能扩展; bug fix: record尸体处理 |
早就有计划做一个服务器端的文献管理、共享和备份的资料库,由于最近要开始大量阅读文献,再也受不了随意乱放的pdf。终于被逼做这件事情了,花了一整天的时间完成v0.01,距离最终理想目标还太远太远,但v0.01已经能够实现最基本的核心功能,只写了四个php文件加一个期刊简写的ascii文件,数据仓储直接用目录+enw实现,毕竟重要的还是文件名归类和云端备份,这两点都实现了。
目前实现的功能:
测试:
1.从google获得enw导入文件
2.上传enw文件到Lab服务器
3.solve_enw.php解析enw文件并生成唯一标志的文件名,写url和label信息进入enw文件,并提供重新导出:
4.上传对应pdf文件,并命名唯一化,唯一化命名可以在本地同样使用:
5.enw和pdf命名唯一化后放入仓库:
6.可以直接通过endnote中的url打开Lab服务器的在线文件:
毕竟是v0.01,输入没有做合法性检查,美工几乎没有,距离自动通过doi进行解析下载以及引文信息生成还差太远。将来如果要实现类似endnote那种方便的查询增删功能,而且如果要共享涉及到账户用户权限的问题,不用关系数据库是不可能的,目前这种单纯用目录组织数据结构肯定行不通,可是mySQL一窍不通,我还是太水了,有空闲下来再慢慢玩吧,现在功能对我个人基本够用:-)
#Up to 20141102#
【注】文件名唯一标志:
%A1-%J-%V_%N_%Ps-%Pe
第一作者-期刊(简写)-卷号_期号_起始页-终了页
Giannini-Science-2003-302_5647_1027-1030
#Up to 20141103#
考虑到工程量不大,决定重新命名版本号:
目前最新版本为
v0.11
Miner Mods:
今天花了一个多小时时间,上传了80多篇文献,命名全部归一化,enw全部生成完毕,随时可以导入endnote。比起之前第一次手工整理时的效率,还是提升了很多的。
考虑:加入以日期命名的enw生成目录,以便将来定期整理文献时方便导入endnote。
#Up to 20141104#
v0.12
今天增加了一些更为客户友好的操作,提高文献归库效率
Miner Mods:
Show一张endnote导入后的截图
#Up to 20141105#
v0.13
增加更为客户友好的操作,提高文献归库效率
Miner Mod:
#Up to 20141116#
v0.20
用了一晚上的时间进行了Major mod,终于可以升级一级版本号啦。增加了文献打包下载的功能,php调用一堆系统函数实现,我真是弱爆了,数据量大的时候估计效率会是个问题,不过还好,个人使用的情况绝不会动辄几百篇文献地down吧,考虑版本公开后不允许批量下载pdf,只可以下载enw。目前计划公开版的版本本号为v1.xx
增加的文件:
package.php
package_down.php
打包页面示例:
Major Mod:
(提醒:需要加入文献删除功能了)
#Up to 20141117#
v0.21
Miner Mods:
#Up to 20141120#
v0.22
Miner Mods:
#Up to 20141123#
v0.30
晚上画图,ncl出图太慢,间隙用来给paperhub加入文献格式生成的功能,加着加着就忘了画图了,索性今天搞定这个major mod。目前仅仅对 paper to be submitted to Climate Dynamics进行了设置。引入了1页php和一个针对CD的期刊名缩略库short_ref_cd.dat。每增加一个submit的期刊就要引入一个缩略库,目前在没有办法将数据封装到json或者用关系数据库的情况下只能这样,当然也只能作为个权宜之计,以后submit的文章多了(如果能办到的话~),一堆文件看着都头疼……寒假如果可以的话,学学R,把组织格式shift到json上。
Major Mods:
范例图
index.php输入生成的唯一标志符,然后通过目录查询找到文件,解析enw生成参考文献格式
Chou Chia, Neelin J David (2004) Mechanisms of global warming impacts on regional tropical precipitation*. J Clim 17: 2688-2701.
Chou C, Neelin JD (2004) Mechanisms of global warming impacts on regional tropical precipitation*. J Clim 17: 2688-2701.
#Up to 20141125#
v0.31
Minor Mods:
#Up to 20141126#
v0.32
Minor Mods:
#Up to 20150113#
v0.40
Major Mods:
#Up to 20150321#
v0.41
Minor Mods:
$author, $journal, strrev($year0)首字母ASCII码决定。范例:
Huang-GCB-2015-fv72_fn71_fp53.pdf
#Up to 20150402#
v0.42
Minor Mods:
#Up to 20150403#
v0.43
Minor Mods:
#Up to 20150426#
v0.44
Minor Mods:
#Up to 20150519#
v0.50
要写文章,paperhub要更舒服才有动力!两天时间做了几处大改动。
Major Mods:
#Up to 20150714#
v0.51
Minor Mods:
#Up to 20150519#
确实按修改时间排序才是比较符合一般人浏览习惯的,(原来除了我之外还有其他读者呀,好感动,不介意就冒个泡呗,留个nickname+邮箱就好,嘿嘿)查了下,改index.php下的loop中的一个属性即可,加在while主循环之前,主循环后再来个wp_reset_query();即可。粗体标注更改属性:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array('orderby'=>modified, 'showposts'=>10, 'paged'=> $paged ); query_posts($args);
【参考资料】
http://i7298.com/archives/55
今天做paperhub v0.01的时候,生成的enw文件会自动在浏览器中打开,而我们希望能够采用下载的形式在endnote中打开。百度了下,解决方法原来可以直接用php去修改html请求头:
$filename = '/path/'.$_GET['file'].'.txt'; //文件路径 header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=".basename($filename)); readfile($filename);
最初写在了solve_enw.php中,结果是整个页面的html流都返回了,原来是这样。于是又建立了一个down_enw.php文件,不输出html流,可以正常下载enw文件。
参考资料:
http://www.jb51.net/article/26907.htm