def installParcel(parcel, version=None):
main = schema.ns('osaf.views.main', parcel)
dispatchHook = p2pDispatchHook.update(parcel, 'p2pDispatchHook',
blockName='p2pDispatchHook')
# Add an event for p2p subscribing to collections
subscribeEvent = BlockEvent.update(parcel, 'SubscribeEvent',
blockName='SubscribeEvent',
dispatchEnum='SendToBlockByReference',
destinationBlockReference=dispatchHook)
# Add an event for managing p2p access to collections
accessEvent = BlockEvent.update(parcel, 'AccessEvent',
blockName='AccessEvent',
dispatchEnum='SendToBlockByReference',
destinationBlockReference=dispatchHook)
# Add an event for p2p login
loginEvent = BlockEvent.update(parcel, 'LoginEvent',
blockName='LoginEvent',
dispatchEnum='SendToBlockByReference',
destinationBlockReference=dispatchHook)
# Add a separator to the "Collection" menu ...
MenuItem.update(parcel, 'menuSeparator',
blockName='menuSeparator',
menuItemKind='Separator',
parentBlock=main.CollectionMenu)
# ... and, below it, a menu item to p2p subscribe to a collection
MenuItem.update(parcel, "SubscribeMenuItem",
blockName="SubscribeMenuItem",
title=_m_(u"Subscribe to a peer collection"),
event=subscribeEvent,
eventsForNamedLookup=[subscribeEvent],
parentBlock=main.CollectionMenu)
# ... and, below it, a menu item to manage p2p permissions to a collection
MenuItem.update(parcel, "AccessMenuItem",
blockName="AccessMenuItem",
title=_m_(u"Manage peer access to a collection"),
event=accessEvent,
eventsForNamedLookup=[accessEvent],
parentBlock=main.CollectionMenu)
# Add a menu item to the File menu to login to a peer network
MenuItem.update(parcel, "LoginMenuItem",
blockName="LoginMenuItem",
title=_m_(u"Login to a peer network"),
event=loginEvent,
eventsForNamedLookup=[loginEvent],
parentBlock=main.FileMenu)
PeriodicTask.update(parcel, "loginTask",
invoke="p2p.LoginTask",
interval=timedelta(days=1),
run_at_startup=True)
AllGroup.update(parcel, "all", name="All")