2015-10-08 68 views
1

我想給Plone(4.3.7)站點的所有成員提供恢復意外刪除文件的可能性。 我只找到ecreall.trashcan來達到這個目的,但是我在安裝時遇到了一些問題。添加後,它在buildout.conf並做斌/擴建輸出包含了一些錯誤,如...有沒有方法在Plone有垃圾桶?

File "build/bdist.linux-x86_64/egg/ecreall/trashcan/skins/ecreall_trashcan_templates/isTrashcanOpened.py", line 11 return session and session.get('trashcan', False) or False SyntaxError: 'return' outside function

File "build/bdist.linux-x86_64/egg/ecreall/trashcan/skins/ecreall_trashcan_templates/object_trash.py", line 23 return context.translate(msg) SyntaxError: 'return' outside function

File "build/bdist.linux-x86_64/egg/ecreall/trashcan/skins/ecreall_trashcan_templates/object_restore.py", line 23 return context.translate(msg) SyntaxError: 'return' outside function

...

所以,我沒有發現任何新的附加到在站點設置中啓用或配置。

有人知道會發生什麼,或者有其他方法可以做我想做的事嗎? 請提前致謝

回答

2

像「return outside funtion」這樣的輸出是harmless during install,編譯器認爲它需要編譯的腳本稍後纔會在Plone內運行(它在函數內部,但編譯器不知道)。

在實驗,似乎垃圾桶需要ZCML塞,即在你buildout.cfg,在[buildout]部分,延長zcml短語:

############################################ 
# ZCML Slugs 
# ---------- 
# Some eggs need ZCML slugs to tell Zope to 
# use them. This is increasingly rare. 

zcml = 
    ecreall.trashcan 
    (further lines) 

至少,那麼它就會顯示在ZMI quickinstaller,我想進一步調查。

+0

好的,明白...謝謝!在這一點上,問題是:在哪裏啓用這個附加組件,在哪裏? – fabiosko

+0

在快速安裝程序(或者可能通過控制面板>插件)中安裝後,您會在操作菜單中找到「移至垃圾箱」(或「恢復」,如果頁面已經存在),並且會出現內容區域中的垃圾桶圖標將您帶到垃圾桶。它在加載項部分似乎沒有配置面板。 –

+0

正如你所建議的Ulrich,我已經在zcml下插入了ecreall.trash。之後,該插件將出現在「插件」面板中,並且我已啓用它。 好吧,現在有一個小垃圾桶圖標,但也有很多問題。內容可能會再次被刪除,並且它不會進入垃圾桶,我必須使用函數-move來回收垃圾。我必須在圖標中點擊兩次才能進入垃圾桶內部或外部,而且當我想退出時,它會在其他文件夾中導航或在第一個文件夾中返回時再次出現。這些內容不顯示給我和一條消息警告我再次在垃圾桶內:( – fabiosko

2

如果您找不到合適的附加組件,請了解在Plone中,垃圾桶只能是工作流程的問題。 您可以自定義工作流程,添加一個新的垃圾桶轉換,用於將用戶無法看到的狀態(垃圾)移動到內容(可能讓管理員和/或站點管理員保持可見性)。

也許您還必須自定義content_status_modify腳本,因爲在內容垃圾桶之後,您必須重定向到其他位置(否則您會收到Unhautorized錯誤)。

+0

感謝keul,但我想給予恢復內容給刪除它的用戶的可能性 – fabiosko

1

我在控制面板中找到了使用「支持規則」的解決方案(!!!)。
首先,我創建了一個名爲TRASHCAN的文件夾,在內容規則中,我添加了一條規則,將文件/頁面/圖像複製到文件夾垃圾箱中,如果它將被刪除。
此規則可以在垃圾桶文件夾中禁用,因此您可以刪除絕對內部的對象。

+1

尼斯解決方案!我只看到一個問題:如果您在刪除時複製垃圾桶內的內容,則稍後您將恢復它,實際上它是一個不同的對象:您鬆散的內容歷史記錄,關係以及可能還有內部鏈接 –

+0

有趣的發現我注意到另一件事,非常重要...當我進入Contents,並刪除某些東西(選中該對象並按下刪除)時,它會進入垃圾箱文件夾,但如果我打開一個元素並選擇刪除操作,則此操作不會進入垃圾桶...我不知道爲什麼... – fabiosko

1

adi.trash可能是你在找什麼。通常的聲明:Io sono authorista。

+0

我會測試這個組件,謝謝! – fabiosko

+0

@fabiosko:謝謝,當然我很好奇你的經驗用它 :-) –