Gallery: Gallery1与Gallery2 的比较:修订间差异

来自站长百科
跳转至: 导航、​ 搜索
无编辑摘要
→‎水印
 
(未显示同一用户的7个中间版本)
第40行: 第40行:
:G1和G2都支持EXIF数据,这对大多数相机用户来说至关重要,因为它会存储有关设定,日期及图片其他方面的细节信息。G2更进一步地支持IPTC,这是另一用于图片内嵌信息的系统。
:G1和G2都支持EXIF数据,这对大多数相机用户来说至关重要,因为它会存储有关设定,日期及图片其他方面的细节信息。G2更进一步地支持IPTC,这是另一用于图片内嵌信息的系统。


:''选择哪个?''  在这方面,G1可以说甘拜下风了。G2无需执行二进制就可以达成这些目的,GD的选用,IPTC数据的使用,简便的视频缩略图以及RAW格式图片的处理都无疑印证了这一点。
: ''选择哪个?''  在这方面,G1可以说甘拜下风了。G2无需执行二进制就可以达成这些目的,GD的选用,IPTC数据的使用,简便的视频缩略图以及RAW格式图片的处理都无疑印证了这一点。


==权限系统==
==权限系统==
第49行: 第49行:
:在G2中,图片目录(应当)被存储于web根目录之外。这意味着如果你的站点位于目录/domain.com/htdocs/中的话,你就可以将G2图片存储在/domain.com/g2data/中,这里是无法通过网络进行访问的。所有图片都可直接通过G2框架进行访问,这就使得非网络可访的图片目录无法通过绕行进行访问了。
:在G2中,图片目录(应当)被存储于web根目录之外。这意味着如果你的站点位于目录/domain.com/htdocs/中的话,你就可以将G2图片存储在/domain.com/g2data/中,这里是无法通过网络进行访问的。所有图片都可直接通过G2框架进行访问,这就使得非网络可访的图片目录无法通过绕行进行访问了。


:''选择哪个?'' 如果你觉得G2的权限UI较为复杂的话,可以使用G1。但如果你希望图片能够完全通过你所设定的权限得到足够保护,或者你需要管理大批用户的话,G2无疑是你的选择。如果你不介意G2可能迟来的较好的权限UI的话,就选择G2吧。
: ''选择哪个?'' 如果你觉得G2的权限UI较为复杂的话,可以使用G1。但如果你希望图片能够完全通过你所设定的权限得到足够保护,或者你需要管理大批用户的话,G2无疑是你的选择。如果你不介意G2可能迟来的较好的权限UI的话,就选择G2吧。


==外观主题==
==外观主题==
第56行: 第56行:
:外观主题及其设定最大的问题已在G2.1版本中解决。现在所有的外观主题都可以被沿用,这样对外观主题所作的更改就能简单地应用到相关联的相册了。G2.2支持递归式的水印效果添加,这无疑是如虎添翼。
:外观主题及其设定最大的问题已在G2.1版本中解决。现在所有的外观主题都可以被沿用,这样对外观主题所作的更改就能简单地应用到相关联的相册了。G2.2支持递归式的水印效果添加,这无疑是如虎添翼。


:''选择哪个?'' 这里只有一种选择,毫无疑问的一种选择:G2的外观主题更加吸引人也更加灵活,因此想选G1还真得有点勇气。
: ''选择哪个?'' 这里只有一种选择,毫无疑问的一种选择:G2的外观主题更加吸引人也更加灵活,因此想选G1还真得有点勇气。


==整合==
==整合==
:G1和G2都支持与相当数量基于web的软件某种程度上的整合--从简单的图片链接到用户共享以及难辨的布局。由于牵涉到的内容太多,因此要花费很多时间进行细节上的讨论。如果你要在G1和G2中进行选择的话,最好看看自己比较偏好哪种整合并看看支持得如何。某些提供G1或G2的整合包有WordPress,phpBB2,Mambo (Joomla),PHPNuke,Invision Board,Drupal,PostNuke以及vBulletin。 [[Gallery2:Integration:Available_Integrations|可用G2整合列表]]。
:G1和G2都支持与相当数量基于web的软件某种程度上的整合--从简单的图片链接到用户共享以及难辨的布局。由于牵涉到的内容太多,因此要花费很多时间进行细节上的讨论。如果你要在G1和G2中进行选择的话,最好看看自己比较偏好哪种整合并看看支持得如何。某些提供G1或G2的整合包有WordPress,phpBB2,Mambo (Joomla),PHPNuke,Invision Board,Drupal,PostNuke以及vBulletin。 [[Gallery:Integration:Available_Integrations|可用G2整合列表]]。


:另一对熟练开发者的显示问题就是,G2编写时是将整合这一块作为考量范围的。如果你需要从头开始的话,[[Gallery2:Embedding|G2包含有的API]]允许进行用户同步等等的项目。G2理论上可以满足你所有的需求,而不仅仅是纸上谈兵的比划比划而已。
:另一对熟练开发者的显示问题就是,G2编写时是将整合这一块作为考量范围的。如果你需要从头开始的话,[[Gallery:Embedding|G2包含有的API]]允许进行用户同步等等的项目。G2理论上可以满足你所有的需求,而不仅仅是纸上谈兵的比划比划而已。


:''选择哪个?'' 在这种情况下,我会首先检查G1和G2整合的状况,而如果这是你作出决定的条件的话,请选择具有更高级整合的那一个吧。还有,G2整合会更好地与其他飞速发展中的程序兼容。如果你是一位开发者,而且需要从皮毛开始学习编写自己的整合的话,G2会是一条不错的途径。
: ''选择哪个?'' 在这种情况下,我会首先检查G1和G2整合的状况,而如果这是你作出决定的条件的话,请选择具有更高级整合的那一个吧。还有,G2整合会更好地与其他飞速发展中的程序兼容。如果你是一位开发者,而且需要从皮毛开始学习编写自己的整合的话,G2会是一条不错的途径。


==上传==
==上传==
:The method for uploading images to G1 and G2 is almost certainly going to be the most important aspect for your gallery’s users.  If it is hard to use, ugly, or awkward, people will complain and your family might decide bodily harm is deserved.  Luckily, the Wife Acceptance Factor (WAF) is fairly high due to the number of options available for upload.
:对你的gallery用户来说,向G1和G2上传图片的方法将成为最受重视的一方面。如果它难以使用或很怪异的话,人们就会抱怨。幸运的是,女性接受因素(Wife Acceptance Factor (WAF) )由于上传可用选项的数量而显得较为乐观。


:G1和G2都 support an HTML form for uploading where users simply click a browse button, find the file they wish to upload, select it (and up to 10 more) and go.  For a few images this is pretty easy, but for more than about 5 it gets tedious.  That is why they also offer a Java mini-applet that loads right in the upload page.  Uploading is as simple as dragging the images from a file explorer shell to the Java applet and clicking upload.  There is also an “Add Pictures” button which will popup the familiar file selection box, but instead of only allowing a single selection it allows multiple.  The final upload method with a high WAF is the built in Windows XP upload.  On the computer you intend to use, simply download and install the registry file that is offered in your gallery.  Now you will have a context based sidebar in XP that will allow you to upload any number of images, right from the shell.
:G1和G2都支持HTML形式的上传,用户可以点击浏览按钮,找到希望上传的文件,选中并开始上传。对少量的图片,此操作很简单,但图片数量达到一定程度时,此过程就显得很繁冗了。这就是他们还提供一个在上传页面进行载入的Java迷你小程序的原因了。上传过程很简单,如同由某个file explorer shell拖取图片至java小程序并进行上传一样简单。还有“添加照片(Add Pictures)”按钮,它会弹出熟悉的文件选取框,与仅允许单个选取不同的是,它允许进行多选。最后具有较高WAF的上传方法是内置的Windows XP上传。点击下载并安装提供给gallery的注册表文件即可。现在在XP中你就有了一个基于context的边栏了,它允许你直接由shell上传任意数量的图片。


:Moving on to the more geek related upload methods, there's a full blown Java-based Gallery Remote (similar to the Java mini applet, but of course much bigger), uploading from a local server and uploading from a URL.  The full Java applet Gallery Remote is a standalone application run on a client computer that allows you to interact with your gallery in many ways, including photo upload.  Gallery Remote offers drag-and-drop file upload when used with KDE, offering a very attractive option for Linux and *BSD users.  Uploading from local server allows you to provide a path on the file system where files will be found, perhaps uploaded with FTP by you earlier.  The upload from web page is a very interesting upload method which most people overlook.  If you give it the path of an image file, it will download it and add it to your album, but if you give it the path to an html file (or directory), it will parse the html and find all references to images and give you a list to pick and choose from.  Very useful!  G2's local file upload goes beyond what G1 offers in that you can select a ''directory'' for upload, and the entire directory tree will be recreated as an album structure, with all of the files in the directory added, mirroring the structure on disk.
:接着来看看更加高端的上传方法,如高度成熟基于java的Gallery Remote(与Java迷你小程序相似但更大),自某个本地服务器及某个URL进行上传。完整的Java小程序Gallery Remote是一个运行于客户端计算机上的独立应用程序,它允许你以多种方式与gallery进行交互,其中包括相片上传。当与KDE使用时,Gallery Remote提供拖放式的文件上传,这对Linux和*BSD用户来说是很有吸引力的。自本地服务器上传允许你提供文件系统的某个路径,在这个路径下可以找到文件,或者之前就已经FTP上传过了。自web页面上传的方法很有趣,很多人都在关注。如果你提供某图片文件的路径,它就会将其下载下来并添加到你的相册中;但是如果你提供的是某html文件(或目录)的路径的话,它就会解析你所提供的html并找到所有图片的参照,接着提供给你一个列表以从中进行选取。可谓很有用处!G2的本地文件上传超越了G1,其可以选取某个要上传的''目录'',而整个目录树会被重新创建为某个相册结构,带有所有添加于目录中的文件,并将该结构映射到磁盘上。


:G2 adds one more method that might not be fully considered an upload method, but must be mentioned here for completeness.  That is its webcam feature, which allows you to input a URL which will be refreshed at the interval you specify.  So if you point it at a webcam, it will download it when ever it should instead of just once.  Interesting, but not the full blown webcam system many might hope for.
:G2多增加的一个方法可能不可以完全看作上传方法,但为了完整起见在此提一下。该方法就是webcam特点,它允许你输入某个URL,而该URL会按照你设定的间隔定期刷新。因此,如果你将其指向一个webcam的话,它就会在该下载时进行下载,而不止一次。有趣但不够成熟的webcam系统同样也寄托了不少人的期望。


:G2 also adds the ability to upload images directly from certain Nokia camera phones.  Of note are also a few modules and tools, such as a Picasa importer and a plug-in for iPhoto (these two are not yet bundled with G2) and the scripts galleryadd.pl and g2add.pl (nearly the same script, but the former is for G1 and the latter for G2) which can be used locally or remotely.
:G2还能够直接从Nokia数码拍照手机上传图片。还有一些模块及工具,比如Picasa导入器以及iPhoto的插件(两者尚未与G2进行捆绑)以及scripts galleryadd.pl和g2add.pl(几乎是相同的脚本,但前者是针对G1的,后者是针对G2的),二者都可以本地或远程使用。


:''选择哪个?'' In this case, since G1 and G2 share a base feature set with G2 bringing a few more extras in, I believe the choice is G2. That said, they are both fairly well off and similar, so picking G1 wouldn’t be a mistake either.
: ''选择哪个?''  在这种情况下,因为G1和G2共享了基础特点,而G2则带来了稍多些的内容,所以我认为选G2会比较好。但它们在这方面可谓势均力敌,因此选择G1也不会有什么不对。


==水印==
==水印==
:对于很多人来说,线上的相片展示离不开这一块儿。因为很难保证某张相片不会被别人“剽窃”,因为这是真格的开放式的展示;因此最好的保护手段就是给图片添加水印效果。G1和G2都支持水印效果,它们都能够应用户的需要可选地为缩略图,设定尺寸的图片以及全尺寸图片添加水印效果。G2在这方面也略胜一筹。使用G1,如果你为全尺寸图片添加了水印,那么该效果就会直接应用于全尺寸图片而且是永久性的。而在G2中,水印效果是被应用于图片拷贝的,这样就可以关闭水印效果,使得将来修改水印效果并用于其他项目成为可能。这里指的其他项目中包括仅为hotlinked(热链的)图片添加水印效果。这意味着,如果某人访问了你的网站,所有的图片都不会带有水印效果或仅你选择的图片带有水印效果(可能是某某某版权所有一类的字样)。稍后,如果该访问者选择了你的图片链接并将其放在自己的网站中时,水印效果就体现出来了,可以是“该图片来自domain.com。”。这也是hot linking比较不错且有意思的解决办法了!
:对于很多人来说,线上的相片展示离不开这一块儿。由于很难保证某张相片不会被别人“剽窃”,而且这可是真格的开放式的展示;因此最好的保护手段就是给图片添加水印效果。G1和G2都支持水印效果,它们都能够应用户的需要可选地为缩略图,设定尺寸的图片以及全尺寸图片添加水印效果。G2在这方面也略胜一筹。使用G1,如果你为全尺寸图片添加了水印,那么该效果就会直接应用于全尺寸图片而且是永久性的。而在G2中,水印效果是被应用于图片拷贝的,这样就可以关闭水印效果,使得将来修改水印效果并用于其他项目成为可能。这里指的其他项目中包括仅为hotlinked(热链的)图片添加水印效果。这意味着,如果某人访问了你的网站,所有的图片都不会带有水印效果或仅你选择的图片带有水印效果(可能是某某某版权所有一类的字样)。稍后,如果该访问者选择了你的图片链接并将其放在自己的网站中时,水印效果就体现出来了,可以是“该图片来自domain.com。”。这也是hot linking比较不错且有意思的解决办法了!


:G1和G2都支持上传时的水印添加,但仅通过HTML的形式。如果你使用的是基于java的小程序,那么水印效果就不会被应用。只要将图片所在的整个相册都打上水印效果就能解决此问题了(自G2的2.2版本开始及G1)。
:G1和G2都支持上传时的水印添加,但仅通过HTML的形式。如果你使用的是基于java的小程序,那么水印效果就不会被应用。只要将图片所在的整个相册都打上水印效果就能解决此问题了(自G2的2.2版本开始及G1)。


:''选择哪个?''  在这种情况下,G2会比较好(自G2.2以来的版本;之前的G2版本不支持递归式的水印添加)。G2支持如此有趣的水印特色,但使用起来却很难。G1的水印特色使用起来很简单,但它们仅限于原始图片而这种局限性对原始图片来说是毁灭性的(无法恢复或取消)。如果使用G1的话,请不要为全尺寸图片添加水印效果,这样当你进行迁移的时候,G2就能够拷贝出一套干净不带水印效果的图片了。
: ''选择哪个?''  在这种情况下,G2会比较好(自G2.2以来的版本;之前的G2版本不支持递归式的水印添加)。G2支持如此有趣的水印特色,但使用起来却很难。G1的水印特色使用起来很简单,但它们仅限于原始图片而这种局限性对原始图片来说是毁灭性的(无法恢复或取消)。如果使用G1的话,请不要为全尺寸图片添加水印效果,这样当你进行迁移的时候,G2就能够拷贝出一套干净不带水印效果的图片了。


==投票/推选/评分==
==投票/推选/评分==
:G1和G2.1都以某种方式支持评分系统。G1的评分机制更加灵活,并且能够自定名称及推选/投票的类型。G1评分系统的不足之处就是没有G2具有吸引力。G2的评分系统与netflix非常相似,带有5颗星星而星星的颜色则用来显示平均分*及*你打的分数。它还包括投票数量并能*可选地*将平均投票显示为一个小条。因为G2的评分系统使用了图形,因此能更好地融合到你的网站中去。
:G1和G2.1都以某种方式支持评分系统。G1的评分机制更加灵活,并且能够自定名称及推选/投票的类型。G1评分系统的不足之处就是没有G2具有吸引力。G2的评分系统与netflix非常相似,带有5颗星星而星星的颜色则用来显示平均分*及*你打的分数。它还包括投票数量并能*可选地*将平均投票显示为一个小条。因为G2的评分系统使用了图形,因此能更好地融合到你的网站中去。


:''选择哪个?'' 如果你偏好自定性强且美观的评分系统的话,G2更好些。如果你需要用户可定的评分及推选机制的话,G1能满足你的需求。
: ''选择哪个?'' 如果你偏好自定性强且美观的评分系统的话,G2更好些。如果你需要用户可定的评分及推选机制的话,G1能满足你的需求。


==菜单语言==
==菜单语言==
:G1和G2都 fully support alternate languages in menu and navigation items.  G1 has an extensive set of languages available already, fully translated and ready to go.  G2 is a little worse off in this regard, with only a few translations fully done, more fairly done and a lot that are mostly not done. There's a complete list of [[Gallery2:Localization#List_of_Translations|G2 translations]]. Browse to <nowiki>http://example.com/gallery2/lib/tools/reports/localization.php</nowiki> (available in the devel package of G2) to see the status of the completion of all installed translations. Fortunately, all it takes is someone who speaks both languages and has some time.  Maybe you could help?
:G1和G2都完全支持菜单和导航项目中的其他(备用可选的)语言。G1具有庞大的可用语言集,翻译度很高而且随时可用。G2相对来说在这方面就要差一点了。仅有少数语言的完全翻译版本,有相当一部分只是部分翻译了,还有很多语言几乎没有翻译版本。这是有关 [[Gallery:Localization#List_of_Translations|G2翻译]]的完整列表。浏览<nowiki>http://example.com/gallery2/lib/tools/reports/localization.php</nowiki>(可在G2的开发者整合包中找到)来看看各语言翻译的完成度。幸运的是,完成这些翻译只要通英语并掌握自己的母语再稍微有点时间就够了。或许你能帮助我们?


:''选择哪个?'' If you absolutely need your gallery in a language that G2 doesn’t have available yet, you have to choose G1.  If you are one of the lucky 4 or 5 languages that are 98% done, G2 would probably be the better choice.  If you have the time to actually do the translations, pick G2 and submit them back to the project!
: ''选择哪个?'' 如果你确实需要你所使用语言的gallery,而不幸的是没有该语言版本的话,那就得用G1了。如果你需要的翻译版本正好是少数4到5个翻译度极高的G2版本的话,选择G2没错。如果你能抽点时间帮助我们翻译的话,请翻译好了以后提交给我们!


==多语言相册==
==多语言相册==
:One important difference between G1 and G2 is multilingual support in albums.  In G1, I have been struggling to balance display aesthetics and the need to let my Chinese audience and English audience both feel comfortable.  My solution has been to create really concise titles in both languages and display both on the same page.  In G2, you can create a title, a description, and other text info for each language.  Users of one language do not see (and be confused by) text info you created for another language.
:G1和G2之间最重要的区别是相册的多语言支持。在G1中,我竭尽全力地想要平衡显示的美学感,并且要让我的汉语用户及英语用户同时觉得惬意。我的解决办法是使用两种语言创建真正精确的标题并显示在相同的页面上。在G2中,你可以创建使用各语言的标题,描述以及其他文本。某语言的用户不会看到你用其他语言创建的文本。


:A subtle difference also leaves a big impact on practicality in multi-lingual support.  In G1, default installation includes only English.  Each additional language module you add will be shown as an additional option in the language drop box.  In G2, default installation includes all available languages (at least for "full installation"), so the drop box is always crowded with more than a dozen choices.  There is no obvious method to remove any installed language.  So if your gallery is designed to support English and Chinese only, your users will have to scroll really hard to switch to the other supported language - and there is no obvious way for a user to determine which languages do you intend to support.
:微妙的区别也会对多语言支持的实用性造成冲击。在G1中,默认仅包含英语。你所添加的各个额外的语言模块将会在语言下拉框中以额外选项的形式显示。在G2中,默认包括所有可用语言(至少"完全安装"是这样),因此下拉框中总是挤满了各种语言选项。无明显可用的方法以移除任何已安装的语言。因此,如果你的gallery仅用来支持英语和汉语的话,那么用户需要费事地找到其他支持的语言—而用户无法确知你所希望支持的语言是哪个或哪些。


:Assume the gallery's default language is Chinese, a French user will likely select French as the alternate language.  Now the user will see that although all menu items becomes French, all titles and descriptions are still in Chinese.  If this user also reads English, he or she could have obtained more information by switching to English, but he or she is unlikely to try English under this circumstance.  Even worse, this user may have even ventured English (UK) and still find all titles and descriptions in Chinese.  He or she would be even more discouraged to try another language so all the information you prepared for English (US) would be wasted.
:假定gallery的默认语言是中文,某法国用户会选择法语作为可选的备用语言。现在该用户会看到所有菜单的项目变成了法语,但是所有标题及描述仍是中文。如果该用户也认英文的话,他(她)就可以通过转为英文来获取更多的信息了,但在这种境况下尝试使用英文还是不太可能。更糟的是,该用户冒险尝试了英国英语但仍得到中文标题及描述。他(她)就没那个勇气再去尝试其他语言了,因此你提供的美式英语下的信息完全就是浪费。


:Another subtle difference affects practicality in multi-lingual support.  In G1, one can use an explicit URL to force a language selection.  In G2, one cannot.  Therefore, in G1, you can announce your gallery or album in different languages with a definitive URL that makes sure the audience sees the URL in the language used in the announcement.  You cannot do this in G2.
:另一微妙的区别也可影响多语言支持的实用性。在G1中,用户可以选择某模糊的URL来强制某语言的选择;这在G2中行不通。所以在G1中,你可以使用一明确的URL声明不同语言下的gallery或相册,这确保了观者能够看到在声明中所使用语言的URL。这在G2中也不行。


:''选择哪个?'' If you want true multi-lingual support, G2 is definitely superior.  However, if you only plan to add album information in a few of the many supported languages, your effort could be buried in the crowded languages drop list.  You also lose the ability to announce a convenient URL  to audiences of different languages.
: ''选择哪个?'' 如果你想要真正的多语言支持,毫无疑问选择是G2。然而如果仅希望添加个别少数语言中的相册信息的话,你的努力很有可能因繁冗的语言下拉列表而付之东流。你还无法向使用不同语言的用户声明一个方便的URL。


==相片打印服务==
==相片打印服务==
:G1 and G2 offer the built in ability to send images to an online photo processing facility, but G1 offers more of them.  Currently G1 and G2 both offer the services of PhotoAccess, Shutterfly and Fotokasten. Fotokasten offers services in European countries, which could be important for some users.  G1 also offers Fotoserve, and adds a service called mPUSH which allows thumbnail images to be sent to cell phones. Fortunately, due to G2’s module system it is much easier to add new services.  It is even possible that a service might develop or commission a module for its service to attract new business!  Speaking of which, the service "Digibug" developed their own module which is included in G2.2. This is a very interesting module because it *requires* site owners to register with them and allows the site owner to set their own detailed pricing. The latest addition to Gallery 2 printing modules list is SnapGalaxy - they provide local (USA & India) as well as worldwide shipping.
:G1和G2提供的内置功能可以将图片发送至某个在线相片处理设备,但G1提供的更多。目前G1和G2都提供PhotoAccess,Shutterfly和Fotokasten的服务。Fotokasten提供的服务包括欧洲国家,这对某些用户来说很重要。G1还提供Fotoserve以及名为mPUSH的服务,它允许将缩略图发送至手机。走运的是,G2的模块系统使得新服务的添加更加简单,甚至某项服务能够引导某个模块的开发以吸引更多的商机。说到这里,"Digibug"服务就开发了他们自己的模块,该模块包括在了G2.2中。该模块很有趣,因为它*要求*站点拥有者使用他们进行注册并允许站点拥有者设定自己详细的价位。最新添加到Gallery2打印模块列表的是SnapGalaxy – 他们提供本地(美国和印度)以及全球范围的发货。


:''选择哪个?'' From release G2.2 (and probably G2.1), the number of photo printing services in G1 and G2 are virtual identical.  If you take into account the Digibug service for G2 which is extremely flexible, the favor definitely falls to G2.
: ''选择哪个?'' 自G2.2(也可能是G2.1)发布以来,G1和G2中的相片打印服务数量基本持平。如果你相中了G2的Digibug极具灵活性服务的话,G2会是你的归宿。


==硬件==
==硬件==
:For many people, this will not be a concern due to the fact that they are in a shared hosting environment where they either don't know what their hardware is or have no choice in how powerful it is.  Paid shared hosting environments are likely to have much more powerful servers than an individual would have, but they may also tend to be more loaded due to the sheer number of users involved.  This is a hard section to write because it can depend on so many variables, but to sum it up before we start:  G1 will be more appropriate for "low end" hardware, but of course both will work better as the system increases in power.
:对于很多人来说,这不会成为顾虑,因为他们都在一个共享的托管环境中,因为他们都不了解硬件状况或进行能效选择。与个人相比,付费的共享托管环境很有可能具有更加强大的服务器,但他们的负载也因数量不菲的用户而相对较高。在此想清楚地探讨这个问题不是很容易,因为有很多变量需要考虑进来。但在开始前我们先总述一下:G1比较适合"低端"的硬件。当然,随着系统不断强大起来二者的工作状态均会好起来。


:The two main aspects of any system are CPU speed and amount of RAM.  Generally, since G1 uses a file-based system for metadata, you will need more and more RAM as your gallery and number of images in an album grows.  Things in G1 that will increase the amount of RAM needed are the search, stats and block random features.  Moving images and albums can also cause high RAM usage, especially when there are lots of sub-albums.  This is because it has to build the sub-album list in memory by parsing lots of data files that have to be stored in memory.  The only main point when G1 will use CPU is for resizing and building thumbs, but it's likely that you won't really care about this.
:任何系统的两个主要方面都是CPU速度及RAM容量。一般说来,由于G1针对元数据使用的是基于文件的系统,因此随着gallery相册相片数量的增长,你会需要越来越多的内存。G1中对内存增长方面有需求的是search,stats和block random特点。图片和相册的移动也会导致较高的RAM使用量,尤其是处理很多子目录时。原因是,它需要通过解析大量的需要存储在内存中的数据文件从而在内存中建立子相册列表。G1需要使用CPU的仅有的主要一点就是缩略图的建立及尺寸重设,但实际上你不会过于关切着一块。


:G2 should work better in lower RAM environments because the database backend is doing all the grunt work of presenting statistical data, *and* this is what a database is made to do.  G2 will benefit more from CPU speed, mainly because the database and abundance of php code will need it.  G2 can also build thumbs/sizes on the fly (as well as at upload), so the *initial* load of an album or resized image can take longer as G2 creates the thumb/resized image, so CPU speed will come into play here.
:G2在具有较低RAM的环境中的表现更好些,因为数据库后端完成所有的统计数据呈现的工作,**这正是数据库的职责所在。G2由CPU速度的受益将更多,主要原因就是数据库和大量php代码会需要。G2还可实时创建缩略图/重设尺寸图片(也可以在上传时),因此某相册或重设尺寸图的*初次*载入会花费较长时间,因为G2创建缩略图或重设尺寸图片,因此CPU速度在这里起到了关键性的影响。


:Let's try and apply some numbers, but keep in mind they will be very general and your specific results could vary widely.  I would suggest anything below ~800MHz with ~256Mb RAM as "low end", ~800MHz - ~1.5GHz with 512Mb RAM as "middle" and ~1.5GHz+ with 1Gb+ RAM as "high end".  These are just rough guesses.  The amount of actual traffic will have a pretty big effect on your requirements as you climb into the big time.  G1 and G2 should both run on any of these, but G1 will almost certainly have the edge at the low end.  At the middle, it will depend a lot on your specific requirements and at the high end you probably won't notice much of a difference between G1 and G2.
:在此看看一些数据吧,但切记这些数据只是概况,你们所得到的结果会有所不同。我认为低于~800MHz,~256Mb RAM 可看作"低端",而~800MHz - ~1.5GHz,512Mb RAM可看作"中等水平"~1.5GHz+ ,1Gb+ RAM 可看作"高端"。这些只是粗略的估计。实际的工作量需求在你实际使用时才会慢慢明晰起来。G1和G2在这些规格的系统上应该都可以运行,但G1会比较倾向于低端。在中等水平的系统上,这些多取决于你的特定要求,而在高端系统中,你几乎不会发现G1与G2的有多大的差别。


:''选择哪个?''  If you have a really low end system, you will almost certainly want G1.  Installing a php accelerator like eAccelerator can help a lot for any system though.  Try both, and if one drastically outperforms the other pick it.  Just keep in mind that G2 will scale to a huge number of images and users without requiring much more RAM, but G1 will choke at some point for sure.
: ''选择哪个?''  如果你的系统的确比较低端的话,绝大多数时候G1会是你的所想。安装一个如eAccelerator 的php加速器会对所有系统有提升。两者都可以试试,如果其中某个超越了另一个,就选择较好的吧。请记住G2对于庞大数量的图片和用户具有很好的延展性,无需更多的RAM支持,但G1在这方面有时可就够呛了。


==杂项==
==杂项==
:This section contains some items that are hard to categorize or would yield a very small category.  It is mostly features that one or the other does not contain at all which might be of interest.
:该部分包含某些难以进行分类的项目或者某些难以自成一体的项目。这些特点多为G1可能含有而G2不含有的有趣特点,反之亦然。


:The main features that G1 has that G2 does not that cannot be categorized are email notification of changes and mirroring.  On the G2 side, there are quite a few more.  Of major note is the module system that makes G2 so flexible.  Pretty much any idea can be developed as a module and then used in G2 with no hard work required, simply unzip the module in the modules directory and turn it on via the web interface.  G1 also features RSS feed support and this is not included in the current final release of G2, but it was a Google Summer of Code project that went very well and will be available shortly after release (I have it installed now!).
:G1具有而G2没有的主要的无法自成一类的特点就是电子邮件通知。而在G2一方来看,则有更多。主要是模块系统令G2更加灵活。很多新点子都可以被开发为模块,而将其用于G2也不是很费神--只要将模块解压到模块目录下并通过web界面将其开启即可。G1还带有RSS feed支持的特色,这没有被包括在目前最新的G2版本中,但Google Summer of Code项目进展得很顺利也许稍后就可以使用了(我已经安装了!)。


:Some of these unique modules include captcha, maps, quotas, user albums, shopping cart, zip download and random highlights.
:这些独一无二的模块包括有captcha,maps,quotas,user albums,shopping cart,zip download和random highlights。
* Captcha is the name for a method of using a distorted image of letters to determine if a user is human or a script of some sort.  It can be used during registration, when a user attempts to log in with the wrong password too many times, and to prevent anonymous comment spam.
* Captcha使用扭曲的字母图片来对用户进行验证,防止恶意的机器注册行为。这被用于注册中,比如当某用户视图通过某错误密码尝试登录过多次的情况,并且用于防止恶意的匿名评论。
* The Maps module extracts the GPS coordinates from your images (if your camera supports this) and shows an interactive (Google) map with the positions where the images have been taken.
* Maps模块从你的图片(如果你的相机支持的话)抽取GPS 坐标并显示一个互动的(Google)地图,其中含有相应图片拍摄地点的信息。
* Quotas allow you to limit the amount of space used by a user, assignable on both a per user basis and a per group basis.
* Quotas允许你限制某用户的空间使用量,可同时针对单位用户及单位用户组。
* User albums are the automatic creation of an album for each user in your gallery, useful for easily adding new users to your gallery if you normally give each user their own album. 
* User albums则是为Gallery各用户自动创建相册。如果你通常为每个用户都分配一个相册的话,该模块即可轻松地向gallery中添加新用户。
* The “shopping cart” (really just “cart”) module allows users to add images to a standard cart.  Instead of just being able to buy images though, the cart can be used to allow images to be sent to one of the printing services or even downloaded as a single zip file. 
* “shopping cart” (其实是“cart”)模块允许用户将图片添加到一个标准的cart购物车中。该购物车被用来将图片发送到某个打印服务或以zip格式的文件形式下载下来。
* Another of the Google Summer of Code projects is a Zen module that uses the gallery cart.  Zen is an open source e-commerce application.
* Google Summer of Code项目之中有一个Zen模块使用的就是gallery cart购物车。Zen是一开源电子商务向的应用程序。


:''选择哪个?''  If you need email notification of changes, G1 is probably the choice for you.  If you read the paragraph on G2 features and thought to yourself “Wow, some of these are very interesting and useful!” then G2 should be your choice.
: ''选择哪个?''  如果你需要电子邮件通知特色的话,G1会比较适合你。如果你读了有关G2特点的文字,然后觉得“天,有些还真不赖的说!”的话,G2会是你的选择。


==结论==
==结论==
第158行: 第158行:
|数据库(DB)|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||G1无法使用DB,G2需要MySQL,PostgreSQL,Oracle或DB2的支持
|数据库(DB)|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||G1无法使用DB,G2需要MySQL,PostgreSQL,Oracle或DB2的支持
|-
|-
|safe_mode '''**'''|| class="no" |<span class="hidden">否</span>|| class="no" |<span class="hidden">否</span>||参阅此[http://gallery.menalto.com/node/3017 贴]的讨论内容
|safe_mode '''*on*'''|| class="no" |<span class="hidden">否</span>|| class="no" |<span class="hidden">否</span>||参阅此[http://gallery.menalto.com/node/3017 贴]的讨论内容
|-
|-
|exec() '''*被禁用*'''|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||G2可在exec()禁用时运行,但缩略图和重设尺寸图片需要编译到PHP中的GD  
|exec() '''*disabled*'''|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||G2可在exec()禁用时运行,但缩略图和重设尺寸图片需要编译到PHP中的GD  
|-
|-
!'''支持的工具包'''!!'''Gallery&nbsp;1'''!!'''Gallery&nbsp;2'''!!注释
!'''支持的工具包'''!!'''Gallery&nbsp;1'''!!'''Gallery&nbsp;2'''!!注释
第383行: 第383行:
|缩略图页面|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||选择文档/电影的页面/某帧画面作为缩略图
|缩略图页面|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||选择文档/电影的页面/某帧画面作为缩略图
|-
|-
|CMYK JPG/TIFF的缩略图|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||G2可选地检查颜色空间并生成web可见(RGB)的缩略图
|CMYK JPG/TIFF的缩略图|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||G2可选地检查颜色空间并生成web可见的(RGB)缩略图
|-
|-
|Multiple intermediate resolutions per item|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||
|Multiple intermediate resolutions per item|| class="no" |<span class="hidden">否</span>|| class="yes" |<span class="hidden">是</span>||

2008年10月19日 (日) 20:41的最新版本

死斗擂台赛:Gallery1对阵Gallery2[ ]

介绍[ ]

此文目前应即将发布的G2.2做了适当的调整。在此文早些时候的编辑中包含有G2.1中添加的特点,当然还包括原始的G2.0版本。G2.2添加了一些简洁的特点,其中我认为最棒的是"可下载插件(downloadable plugins)"特点。它允许你直接由G2内部进行*新*插件的下载,而无需使用FTP瞎捣鼓了。
由于Gallery1和Gallery2的并存,你可能就要发问了。该文比较了两者,将二者的不同之处,相似之处,优点及弊端都揭示给读者。这将帮助你选择最适合的一款,同时也给出了建议,并确保你在决定之前,能够获取尽可能多的信息。最好的出发点就是简要地介绍两个产品,这样你就能先对二者做个基本的了解了。
Gallery1和2均为基于web的相片相册软件,由PHP编成。这意味着二者都应依托web服务器,一般是在托管的环境下。它们使用的接口为完全基于web的,这样一来上传,维护和显示图片都更为简单。它们皆使用特定的外部程序进行缩略图和自定尺寸图片的创建,而且它们是在分层文件夹中进行组织的,点击图片的缩略图之后就会转到对应的较大尺寸的图片。主要特点中的一部分为:多用户的,基于web的,高度自动化,灵活多变并且面向用户。

安装[ ]

G1和G2的初始安装步骤都很相似。你需要从gallery站点获取 “代码”,进行解压,上传到你的站点并运行安装向导。你可能需要安装某些图片操作二进制,但很可能你的托管服务提供商已经为你准备好了,这能节省不少时间。随着安装的深入,步骤也越发不同了,G1的安装非常复杂并且牵涉到很多选项。 G2的安装则简化了不少,配置选项尽可能地被压缩到最小的数目,但你得提供一些数据库信息,G1则没有对此做要求。
G2.1版本在已有的安装程序中做了改良。这些改良主要是可视化及可用性方面的修改,这些改良是在OpenUsability的调查研究之后作出的。
如果你有自己的服务器,且只安装了最基本的东西(Apache,PHP,MySQL)的话,事情就有点难办了。大部分的服务器distribution使得这些应用程序的安装极快,然而有些瑕疵能够修复却很难弄明白。对于初学者而言,MySQL足以让他们想破脑瓜了。
该选择哪一个呢? 因为G2具有更简单且更直观的安装程序,因此我觉得它是首选。但是如果你更像自己制定更多的变量的话,G1可能会更合你的口味。如果你只是略通皮毛的话,G1不对MySQL做要求的优势就体现出来了,因为MySQL对于初学者而言就是恶梦。

数据库对文件元数据存储[ ]

G1和G2之间主要区别是“元数据”(评论,标题,描述以及关键词等)是如何保留及维护的。Gallery1使用的是基于文件的方法而G2使用数据库的方法。这可能不明显,但它们都具有各自的优势和缺陷,所以在你作出选择之前要好好考量一下。首先,如果你的托管服务提供商无法提供数据库选项(如MySQL)的话,那你只有两条路可选了:使用Gallery1或换个host。
将元数据存储在某个文件中更简单,且对较小的gallery来说更快速。它对资源的要求也更低,因此相对地在低端或较旧的服务器上也能更好地运行。当然它也有缺点。随着G1容量的增多,它会用掉更多的内存(RAM)以完成某些操作。平均下来,G1的5000张图片就该封顶了。当然也有站点能够轻松地托管多余该数字的图片,但寿命大大降低了。
将元数据保留在数据库中利弊皆有。最大的优势就是可扩展性;G2应当能够无区别地保留5张,10张,100张或100万张的相片,而性能方面并不会因照片数量受太大影响。当然其他方面制约着相片数量的上限,但理论上来说,这个上限不小,或者说很大。为了证明这一点,care2 connect站点是基于较早期Gallery的alpha版本上的,并且保留有超过90万张图片(而且可能有超过5000名用户)。数据库驱动的确有劣势,如果要以指定好长度的时间来载入“framework”以处理数据库的话,那么较小的gallery可能无法看到优势所在,甚至会花费更多的时间。一个基于文件的系统打开10张相片的相册可能花费0.1秒,但数据库系统指定的读取时间是0.5秒,那么打开10张相片相册的速度显然大于0.1秒,也就是多花了时间。当然,该基于文件的系统可能需要10秒来打开含有1000张图片的相册,当读取1万张图片的相册时就会崩溃。
选择哪个? 如果你的Gallery内容很多的话,必然要选择G2了。如果你的gallery内容很少(并一直保持很少),并且依托较低端的硬件的话,那么选择起来就比较困难了。G1可能会比较管用,但跟G2的灵活性和强大的功能比起来就相形见绌了。在这种情况下,我会建议对二者都做个尝试,然后再选取你最中意的来使用。


缩略图,重设尺寸图片及全尺寸图片[ ]

G1和G2都支持玩家定义缩略图,重设尺寸图片及全尺寸图片。G2允许定义多个重设尺寸图片,某种意义上来说很有用。G1和G2都允许你指定图片的某个部分用于缩略图,该可定制性也十分诱人。G2更进一步地允许你上传自定义的图片,并将其用于特定项目的缩略图。G2还具有的矩(方)形缩略图模块会自动制作矩(方)形缩略图(建材为方形宽高比或按比例填充到方形区域中)。crop-to-square的特点也可通过修改成为G1的特点,但不是独一无二的了。G1和G2都允许用户选择某最大的文件尺寸或规格尺寸,这能有效地对图片占用空间进行限制。G1和G2(自G2.2版本)都支持自动旋转(auto-rotation)。如果你的相机具有方向感应器或旋转按钮的话,那么G1和G2都会自动正确地调整相片的方向。
G1和G2的图片格式支持范围都很大,但G2在这方面更胜一筹,它还支持PSD,PDF和TIFF一类的格式。G2还能更轻松地处理非图片/电影文件类型,允许为不同文件类型自定义缩略图并且允许进行上传。
选择哪个? 因为较之G1,G2支持更多的图片格式而且G2.2以后的版本还支持自动旋转,所以G2不失为一个好的选择。G1只是略逊一筹罢了。

图片工具包[ ]

Gallery1和Gallery2在这个方面相当相似,因此只进行简略叙述。它们都支持NetPBMImageMagick—二者都是很流行的开源图片处理工具,用于创建缩略图和定义尺寸的图片。G1也可经修改以支持ffmpeg。而Gallery2则更先进一点,同时支持GD,dcraw和ffmpeg。GD是一个图片处理程序,常以PHP构建;dcraw能够转换来自诸多数码相机份的RAW格式图片;而最令人激赏的则是ffmpeg了,它允许创建各种视频格式的缩略图。对,你可以上传一个视频并可将其中任意一帧画面作为缩略图。Gallery2通过自身的模块系统能够更轻松地支持不同的工具,这就使得将来的扩充更为简便。另一G2所带来的优势就是所有图片工具包可同时处于活动状态。这就意味着按照某种次序,GD,IM和NetPBM可以同时使用。在大多数情况下,这将提供图片格式更广的支持范围。
G1和G2都支持EXIF数据,这对大多数相机用户来说至关重要,因为它会存储有关设定,日期及图片其他方面的细节信息。G2更进一步地支持IPTC,这是另一用于图片内嵌信息的系统。
选择哪个? 在这方面,G1可以说甘拜下风了。G2无需执行二进制就可以达成这些目的,GD的选用,IPTC数据的使用,简便的视频缩略图以及RAW格式图片的处理都无疑印证了这一点。

权限系统[ ]

Gallery1和2都具有庞大的权限系统。它们允许你指定相册拥有者(赋予他们所有控制权),拥有者可以查看图片,上传图片,发表评论等等。用户组也是G2的一大特色了,它使得大量用户的管理变得更加简单。遗憾的是,G2权限的用户界面不是很直观,尽管它比G1要更强大并且提供更好的支持,但唯独这一点让人觉得遗憾。不过这个问题已经放到了已知问题处理日程中了,将来肯定会得到解决。G1和G2都支持"隐藏的"项目,这指的是图片或相册仅当用户访问URL目录或具有足够查看权限时才表现为可见。G2还有受密码保护的相册,这样对图片访问权的限制就更加简单了,而且相对来说共享起来也不是问题。
有关权限,G1和G2之间有一个很大的区别。要让G1运作,你的图片目录必须为公共网络可访的。这意味着所有人都可以直接查看图片,只要能猜中你的图片文件名或目录名称就可以直接查看了。这可以通过某些手段加以限制,但并非总是可行的。
在G2中,图片目录(应当)被存储于web根目录之外。这意味着如果你的站点位于目录/domain.com/htdocs/中的话,你就可以将G2图片存储在/domain.com/g2data/中,这里是无法通过网络进行访问的。所有图片都可直接通过G2框架进行访问,这就使得非网络可访的图片目录无法通过绕行进行访问了。
选择哪个? 如果你觉得G2的权限UI较为复杂的话,可以使用G1。但如果你希望图片能够完全通过你所设定的权限得到足够保护,或者你需要管理大批用户的话,G2无疑是你的选择。如果你不介意G2可能迟来的较好的权限UI的话,就选择G2吧。

外观主题[ ]

G1和G2都提供外观主题系统,这将允许用户自定义gallery的外观效果。在G1中,这仅限于颜色的自定义以及相当受限的外观种类。大部分的G1外观主题看起来大同小异,主要区别只是颜色,字体和修饰,而总体布局基本相同。G2则成为了鲜明的对比,可谓层出不穷的外观主题集合体。G2所带有的大量外观主题都各不相同,而其中蕴含的变数是无穷尽的。如果有时间,有技术并且有点胆识的话,你完全可以将G2模仿成任何你见过的相片相册系统。你甚至可以打造自己独一无二从未见过的G2相片相册系统。这都要归功于G2极为灵活的外观主题系统。其中有不少外观主题都被开发为Google Summer of Code的一部分,并且某个外观主题竞赛也在筹划之中。某种意义上说,G2的外观主题世界可谓各种爆料之所在。
外观主题及其设定最大的问题已在G2.1版本中解决。现在所有的外观主题都可以被沿用,这样对外观主题所作的更改就能简单地应用到相关联的相册了。G2.2支持递归式的水印效果添加,这无疑是如虎添翼。
选择哪个? 这里只有一种选择,毫无疑问的一种选择:G2的外观主题更加吸引人也更加灵活,因此想选G1还真得有点勇气。

整合[ ]

G1和G2都支持与相当数量基于web的软件某种程度上的整合--从简单的图片链接到用户共享以及难辨的布局。由于牵涉到的内容太多,因此要花费很多时间进行细节上的讨论。如果你要在G1和G2中进行选择的话,最好看看自己比较偏好哪种整合并看看支持得如何。某些提供G1或G2的整合包有WordPress,phpBB2,Mambo (Joomla),PHPNuke,Invision Board,Drupal,PostNuke以及vBulletin。 可用G2整合列表
另一对熟练开发者的显示问题就是,G2编写时是将整合这一块作为考量范围的。如果你需要从头开始的话,G2包含有的API允许进行用户同步等等的项目。G2理论上可以满足你所有的需求,而不仅仅是纸上谈兵的比划比划而已。
选择哪个? 在这种情况下,我会首先检查G1和G2整合的状况,而如果这是你作出决定的条件的话,请选择具有更高级整合的那一个吧。还有,G2整合会更好地与其他飞速发展中的程序兼容。如果你是一位开发者,而且需要从皮毛开始学习编写自己的整合的话,G2会是一条不错的途径。

上传[ ]

对你的gallery用户来说,向G1和G2上传图片的方法将成为最受重视的一方面。如果它难以使用或很怪异的话,人们就会抱怨。幸运的是,女性接受因素(Wife Acceptance Factor (WAF) )由于上传可用选项的数量而显得较为乐观。
G1和G2都支持HTML形式的上传,用户可以点击浏览按钮,找到希望上传的文件,选中并开始上传。对少量的图片,此操作很简单,但图片数量达到一定程度时,此过程就显得很繁冗了。这就是他们还提供一个在上传页面进行载入的Java迷你小程序的原因了。上传过程很简单,如同由某个file explorer shell拖取图片至java小程序并进行上传一样简单。还有“添加照片(Add Pictures)”按钮,它会弹出熟悉的文件选取框,与仅允许单个选取不同的是,它允许进行多选。最后具有较高WAF的上传方法是内置的Windows XP上传。点击下载并安装提供给gallery的注册表文件即可。现在在XP中你就有了一个基于context的边栏了,它允许你直接由shell上传任意数量的图片。
接着来看看更加高端的上传方法,如高度成熟基于java的Gallery Remote(与Java迷你小程序相似但更大),自某个本地服务器及某个URL进行上传。完整的Java小程序Gallery Remote是一个运行于客户端计算机上的独立应用程序,它允许你以多种方式与gallery进行交互,其中包括相片上传。当与KDE使用时,Gallery Remote提供拖放式的文件上传,这对Linux和*BSD用户来说是很有吸引力的。自本地服务器上传允许你提供文件系统的某个路径,在这个路径下可以找到文件,或者之前就已经FTP上传过了。自web页面上传的方法很有趣,很多人都在关注。如果你提供某图片文件的路径,它就会将其下载下来并添加到你的相册中;但是如果你提供的是某html文件(或目录)的路径的话,它就会解析你所提供的html并找到所有图片的参照,接着提供给你一个列表以从中进行选取。可谓很有用处!G2的本地文件上传超越了G1,其可以选取某个要上传的目录,而整个目录树会被重新创建为某个相册结构,带有所有添加于目录中的文件,并将该结构映射到磁盘上。
G2多增加的一个方法可能不可以完全看作上传方法,但为了完整起见在此提一下。该方法就是webcam特点,它允许你输入某个URL,而该URL会按照你设定的间隔定期刷新。因此,如果你将其指向一个webcam的话,它就会在该下载时进行下载,而不止一次。有趣但不够成熟的webcam系统同样也寄托了不少人的期望。
G2还能够直接从Nokia数码拍照手机上传图片。还有一些模块及工具,比如Picasa导入器以及iPhoto的插件(两者尚未与G2进行捆绑)以及scripts galleryadd.pl和g2add.pl(几乎是相同的脚本,但前者是针对G1的,后者是针对G2的),二者都可以本地或远程使用。
选择哪个? 在这种情况下,因为G1和G2共享了基础特点,而G2则带来了稍多些的内容,所以我认为选G2会比较好。但它们在这方面可谓势均力敌,因此选择G1也不会有什么不对。

水印[ ]

对于很多人来说,线上的相片展示离不开这一块儿。由于很难保证某张相片不会被别人“剽窃”,而且这可是真格的开放式的展示;因此最好的保护手段就是给图片添加水印效果。G1和G2都支持水印效果,它们都能够应用户的需要可选地为缩略图,设定尺寸的图片以及全尺寸图片添加水印效果。G2在这方面也略胜一筹。使用G1,如果你为全尺寸图片添加了水印,那么该效果就会直接应用于全尺寸图片而且是永久性的。而在G2中,水印效果是被应用于图片拷贝的,这样就可以关闭水印效果,使得将来修改水印效果并用于其他项目成为可能。这里指的其他项目中包括仅为hotlinked(热链的)图片添加水印效果。这意味着,如果某人访问了你的网站,所有的图片都不会带有水印效果或仅你选择的图片带有水印效果(可能是某某某版权所有一类的字样)。稍后,如果该访问者选择了你的图片链接并将其放在自己的网站中时,水印效果就体现出来了,可以是“该图片来自domain.com。”。这也是hot linking比较不错且有意思的解决办法了!
G1和G2都支持上传时的水印添加,但仅通过HTML的形式。如果你使用的是基于java的小程序,那么水印效果就不会被应用。只要将图片所在的整个相册都打上水印效果就能解决此问题了(自G2的2.2版本开始及G1)。
选择哪个? 在这种情况下,G2会比较好(自G2.2以来的版本;之前的G2版本不支持递归式的水印添加)。G2支持如此有趣的水印特色,但使用起来却很难。G1的水印特色使用起来很简单,但它们仅限于原始图片而这种局限性对原始图片来说是毁灭性的(无法恢复或取消)。如果使用G1的话,请不要为全尺寸图片添加水印效果,这样当你进行迁移的时候,G2就能够拷贝出一套干净不带水印效果的图片了。

投票/推选/评分[ ]

G1和G2.1都以某种方式支持评分系统。G1的评分机制更加灵活,并且能够自定名称及推选/投票的类型。G1评分系统的不足之处就是没有G2具有吸引力。G2的评分系统与netflix非常相似,带有5颗星星而星星的颜色则用来显示平均分*及*你打的分数。它还包括投票数量并能*可选地*将平均投票显示为一个小条。因为G2的评分系统使用了图形,因此能更好地融合到你的网站中去。
选择哪个? 如果你偏好自定性强且美观的评分系统的话,G2更好些。如果你需要用户可定的评分及推选机制的话,G1能满足你的需求。

菜单语言[ ]

G1和G2都完全支持菜单和导航项目中的其他(备用可选的)语言。G1具有庞大的可用语言集,翻译度很高而且随时可用。G2相对来说在这方面就要差一点了。仅有少数语言的完全翻译版本,有相当一部分只是部分翻译了,还有很多语言几乎没有翻译版本。这是有关 G2翻译的完整列表。浏览http://example.com/gallery2/lib/tools/reports/localization.php(可在G2的开发者整合包中找到)来看看各语言翻译的完成度。幸运的是,完成这些翻译只要通英语并掌握自己的母语再稍微有点时间就够了。或许你能帮助我们?
选择哪个? 如果你确实需要你所使用语言的gallery,而不幸的是没有该语言版本的话,那就得用G1了。如果你需要的翻译版本正好是少数4到5个翻译度极高的G2版本的话,选择G2没错。如果你能抽点时间帮助我们翻译的话,请翻译好了以后提交给我们!

多语言相册[ ]

G1和G2之间最重要的区别是相册的多语言支持。在G1中,我竭尽全力地想要平衡显示的美学感,并且要让我的汉语用户及英语用户同时觉得惬意。我的解决办法是使用两种语言创建真正精确的标题并显示在相同的页面上。在G2中,你可以创建使用各语言的标题,描述以及其他文本。某语言的用户不会看到你用其他语言创建的文本。
微妙的区别也会对多语言支持的实用性造成冲击。在G1中,默认仅包含英语。你所添加的各个额外的语言模块将会在语言下拉框中以额外选项的形式显示。在G2中,默认包括所有可用语言(至少"完全安装"是这样),因此下拉框中总是挤满了各种语言选项。无明显可用的方法以移除任何已安装的语言。因此,如果你的gallery仅用来支持英语和汉语的话,那么用户需要费事地找到其他支持的语言—而用户无法确知你所希望支持的语言是哪个或哪些。
假定gallery的默认语言是中文,某法国用户会选择法语作为可选的备用语言。现在该用户会看到所有菜单的项目变成了法语,但是所有标题及描述仍是中文。如果该用户也认英文的话,他(她)就可以通过转为英文来获取更多的信息了,但在这种境况下尝试使用英文还是不太可能。更糟的是,该用户冒险尝试了英国英语但仍得到中文标题及描述。他(她)就没那个勇气再去尝试其他语言了,因此你提供的美式英语下的信息完全就是浪费。
另一微妙的区别也可影响多语言支持的实用性。在G1中,用户可以选择某模糊的URL来强制某语言的选择;这在G2中行不通。所以在G1中,你可以使用一明确的URL声明不同语言下的gallery或相册,这确保了观者能够看到在声明中所使用语言的URL。这在G2中也不行。
选择哪个? 如果你想要真正的多语言支持,毫无疑问选择是G2。然而如果仅希望添加个别少数语言中的相册信息的话,你的努力很有可能因繁冗的语言下拉列表而付之东流。你还无法向使用不同语言的用户声明一个方便的URL。

相片打印服务[ ]

G1和G2提供的内置功能可以将图片发送至某个在线相片处理设备,但G1提供的更多。目前G1和G2都提供PhotoAccess,Shutterfly和Fotokasten的服务。Fotokasten提供的服务包括欧洲国家,这对某些用户来说很重要。G1还提供Fotoserve以及名为mPUSH的服务,它允许将缩略图发送至手机。走运的是,G2的模块系统使得新服务的添加更加简单,甚至某项服务能够引导某个模块的开发以吸引更多的商机。说到这里,"Digibug"服务就开发了他们自己的模块,该模块包括在了G2.2中。该模块很有趣,因为它*要求*站点拥有者使用他们进行注册并允许站点拥有者设定自己详细的价位。最新添加到Gallery2打印模块列表的是SnapGalaxy – 他们提供本地(美国和印度)以及全球范围的发货。
选择哪个? 自G2.2(也可能是G2.1)发布以来,G1和G2中的相片打印服务数量基本持平。如果你相中了G2的Digibug极具灵活性服务的话,G2会是你的归宿。

硬件[ ]

对于很多人来说,这不会成为顾虑,因为他们都在一个共享的托管环境中,因为他们都不了解硬件状况或进行能效选择。与个人相比,付费的共享托管环境很有可能具有更加强大的服务器,但他们的负载也因数量不菲的用户而相对较高。在此想清楚地探讨这个问题不是很容易,因为有很多变量需要考虑进来。但在开始前我们先总述一下:G1比较适合"低端"的硬件。当然,随着系统不断强大起来二者的工作状态均会好起来。
任何系统的两个主要方面都是CPU速度及RAM容量。一般说来,由于G1针对元数据使用的是基于文件的系统,因此随着gallery相册相片数量的增长,你会需要越来越多的内存。G1中对内存增长方面有需求的是search,stats和block random特点。图片和相册的移动也会导致较高的RAM使用量,尤其是处理很多子目录时。原因是,它需要通过解析大量的需要存储在内存中的数据文件从而在内存中建立子相册列表。G1需要使用CPU的仅有的主要一点就是缩略图的建立及尺寸重设,但实际上你不会过于关切着一块。
G2在具有较低RAM的环境中的表现更好些,因为数据库后端完成所有的统计数据呈现的工作,*而*这正是数据库的职责所在。G2由CPU速度的受益将更多,主要原因就是数据库和大量php代码会需要。G2还可实时创建缩略图/重设尺寸图片(也可以在上传时),因此某相册或重设尺寸图的*初次*载入会花费较长时间,因为G2创建缩略图或重设尺寸图片,因此CPU速度在这里起到了关键性的影响。
在此看看一些数据吧,但切记这些数据只是概况,你们所得到的结果会有所不同。我认为低于~800MHz,~256Mb RAM 可看作"低端",而~800MHz - ~1.5GHz,512Mb RAM可看作"中等水平",~1.5GHz+ ,1Gb+ RAM 可看作"高端"。这些只是粗略的估计。实际的工作量需求在你实际使用时才会慢慢明晰起来。G1和G2在这些规格的系统上应该都可以运行,但G1会比较倾向于低端。在中等水平的系统上,这些多取决于你的特定要求,而在高端系统中,你几乎不会发现G1与G2的有多大的差别。
选择哪个? 如果你的系统的确比较低端的话,绝大多数时候G1会是你的所想。安装一个如eAccelerator 的php加速器会对所有系统有提升。两者都可以试试,如果其中某个超越了另一个,就选择较好的吧。请记住G2对于庞大数量的图片和用户具有很好的延展性,无需更多的RAM支持,但G1在这方面有时可就够呛了。

杂项[ ]

该部分包含某些难以进行分类的项目或者某些难以自成一体的项目。这些特点多为G1可能含有而G2不含有的有趣特点,反之亦然。
G1具有而G2没有的主要的无法自成一类的特点就是电子邮件通知。而在G2一方来看,则有更多。主要是模块系统令G2更加灵活。很多新点子都可以被开发为模块,而将其用于G2也不是很费神--只要将模块解压到模块目录下并通过web界面将其开启即可。G1还带有RSS feed支持的特色,这没有被包括在目前最新的G2版本中,但Google Summer of Code项目进展得很顺利也许稍后就可以使用了(我已经安装了!)。
这些独一无二的模块包括有captcha,maps,quotas,user albums,shopping cart,zip download和random highlights。
  • Captcha使用扭曲的字母图片来对用户进行验证,防止恶意的机器注册行为。这被用于注册中,比如当某用户视图通过某错误密码尝试登录过多次的情况,并且用于防止恶意的匿名评论。
  • Maps模块从你的图片(如果你的相机支持的话)抽取GPS 坐标并显示一个互动的(Google)地图,其中含有相应图片拍摄地点的信息。
  • Quotas允许你限制某用户的空间使用量,可同时针对单位用户及单位用户组。
  • User albums则是为Gallery各用户自动创建相册。如果你通常为每个用户都分配一个相册的话,该模块即可轻松地向gallery中添加新用户。
  • “shopping cart” (其实是“cart”)模块允许用户将图片添加到一个标准的cart购物车中。该购物车被用来将图片发送到某个打印服务或以zip格式的文件形式下载下来。
  • Google Summer of Code项目之中有一个Zen模块使用的就是gallery cart购物车。Zen是一开源电子商务向的应用程序。
选择哪个? 如果你需要电子邮件通知特色的话,G1会比较适合你。如果你读了有关G2特点的文字,然后觉得“天,有些还真不赖的说!”的话,G2会是你的选择。

结论[ ]

正如你所读到的,此文似乎偏袒G2一些。但就我个人经历而言,在转用G2之后还是觉得G2比较好。如果此文能帮助你作出选择的话我会十分开心。如果你读完全篇内容后还无法做出决定的话,我会强烈建议你使用G2。G2有更多积极的开发者并且具有无可辩驳的世界影响力,换句话说你无法抗拒它。我是Locutus,我们来自伯格星,准备好被我们同化吧!(入乡随俗吧……)

特点表单[ ]

与其他程序的比较[ ]

G1,G2,CM及其他的比较G2对CM(旧)