53
Amit Chourasia, David Nadeau & Michael Norman San Diego Supercomputer Center, UC San Diego Project website: dibbs.seedme.org Project code: dibbs.seedme.org/downloads Trial website: sandbox.seedme.org FolderShare: Building a data sharing cloud on Drupal 8 for researchers

FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

AmitChourasia,DavidNadeau&MichaelNormanSanDiegoSupercomputerCenter,UCSanDiego

Projectwebsite:dibbs.seedme.org

Projectcode:dibbs.seedme.org/downloads

Trialwebsite:sandbox.seedme.org

FolderShare:BuildingadatasharingcloudonDrupal8forresearchers

Page 2: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Aboutme•  VisualizaKonscholar/evangelist•  Lecturer/Instructor•  Interests

–  HighperformancecompuKng–  Datastewardship–  Computergraphics

SanDiegoSupercomputerCenter@UCSanDiegoDrupalusersince~2006|version4.7.4•  Personalwebsite(Drupal4-8:150pages)•  Projectwebsite(Drupal5:50,000+pages)•  SeedMe2cloudservice(Drupal7:150,000+pages)•  SeedMe2pla@orm(Drupal8:AnEcipate1M+items)

Seeking:VeryproficientDrupal8PHPprogrammers

Desired:DeepknowledgeofDrupal8core

Page 3: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

PresentaKonOverview1.  Background&moKvaKon2.  Architecture3.  SeedMe2pla\orm

FolderShare:Virtualfilesystem»  EnKtydatamodel&accesscontrol»  Filemanagement&security»  ViewsintegraKon»  UI&Commandplugins»  Fileforma_ers»  Webservices

SmalldatamoduleandAPI–  VisualizaKon

4.  Targetusers/Usecases5.  Screenshots6.   Demo

Page 4: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

SeedMe1a.k.a.StreamencodeexploreanddisseminateMyexperiments•  BasedonDrupal7•  InproducKonasPla\ormasaService(PaaS)•  Videoencodingwasthemainfocus

SeedMe2:DatasharingbuildingblocksEvoluKonoftheoriginalSeedMeproject(Completerewrite)•  BasedonDrupal8•  IncorporatesuserfeedbackfromoriginalSeedMeproject•  BuiltfordistribuKonandextension•  Datasharinganddatamanagementisthemainfocus

SeedMeProject

Page 5: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

SeedMe2’sfocus

EnablerapidaccesstodataConsumabledataCanbehandledbystockwebbrowser(Upload/Download,<2GBperfile)Displayableonmanydevices(PhonetoPC)

Page 6: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Datamanagementstumblingblocks

Transfer Storage CollaboraKon AutomaKonAccesscontrol

PresentaKonDiscovery

ByLexiLarson

Page 7: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Datamanagementstumblingblocks

Transfer Storage CollaboraKon AutomaKonAccesscontrol

Issuesduetocontentdispersion

DescripKoninsomeone’smindDataintheCloud Discussiononemails

ThreeD’s:Data,DescripEon,Discussion

Page 8: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FilesystembasedsoluEons

RelatedsoluKons

ContentmanagementsystembasedsoluEonsHubZeroFigShare

MiddlewareGlobusIRodsNEWT

SoYwarerepositoriesGitHubSVNCVS

FilehosEngClouddrives(Dropbox,etc)WebDAV

ToolsSCPFTP

LimitaEonsofexisEngsoluEons Lackextensibility Lacksupportforrichcontent(descripKon,discussion,etc…) Lackindependentdevelopersupport Lack3wayinteracKonviawebbrowser&commandline&API Resourcerestricted

Page 9: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Workflow

Update as desired

Description

CreateProject

Sharing

Add foldersView

SearchDownload

Web browser, Command line, REST or App

Sign In

1 2

3

4

Upload files

Page 10: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Users

Drupal8

Architecture

Modules•  Virtualfilesystem

•  Accesscontrol•  Hierarchicalstorage•  Commandplugins•  UIanddisplay•  Search/index•  Webservices

•  Fileforma_ers•  QuickVisualizaKon

Webserver(Apache+PHP)

Database(MySQL)

Webbrowser

RESTclients

Commandline

Smalldata(PHPlibrary)

Drupal8ContributedModules

e.g.Federated

AuthenEcaEonviaOIDCmodule

ProjectcontribuKons

Page 11: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

SeedMePla\ormEcosystemDrupal(ContentManagementSystem)•  Widelyusedinindustry,academiaandgovernment(thirdmostpopularCMSonwebajerWordpress&Joomla)•  Modulararchitecturewithlargeecosystem(over1,000contributedmodules)•  Largedeveloper&supportcommunity(4,000contributorstocore+thousandsmore)•  Securityadvisoryandupdatesforcoreandstablecontributed

moduleseverymonth•  VersaKledeploymentopKons(personalhosKng,insKtuKonalhosKng,cloudhosKng)

Page 12: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderSharemodule•  Requireddependencies(12-AllinDrupalcore)

–  DateKme–  Field–  File–  Image–  Link–  Media–  OpKons–  Text

•  OpEonaldependencies(3-AllinDrupalcore)–  Comment–  RESTfulwebservices

•  HTTPbasicauthenKcaKon•  SerializaKon

–  Search

–  Help–  Filter–  System–  User–  Views

•  Coremodulesrecommended–  Texteditor–  FieldUI(maybe)–  ViewsUI(maybe)

•  Contributedmodulesrecommended–  Realname–  RESTUI(maybe)–  SmallData(forquickvisualizaEonofCSV,JSONfiles)

Page 13: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderSharemodule

•  Virtualfilesystem(fieldable):–  EnKtytype&API– Accesscontrols– Usagetracking–  Views,displays,breadcrumbs,forms–  Pluginsforfieldforma_ers,search,views,acKons,andqueueworkers

•  Configurablebysites–  e.g.Keywords,comments,flags,DOIs

•  Extensiblebydevelopers

Page 14: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Files&folders

•  Childrenpointtoparents– ParentIDsenablefastqueriesforallchildrenofafolder

– RootIDsenablefastqueriesforaccesscontrolsandbreadcrumbs

parenKdpointstoimmediateparent

rooKdpointstotopfolder

Page 15: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

AbstractedphysicalstorageFoldersexistinthedatabaseEveryuploadedfilehasaFileID(sequenEal)FileIDsay1Bitpa_ern0000000000000001Storedas0000/0000/0000/0001FileIDsay100Bitpa_ern0000000001100100Storedas0000/0000/0110/0100

Page 16: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Accesscontrols

•  Drupalaccount-based•  Permissions+accesscontrollistontopfolders– Listofusersthatcanviewandauthor

•  TopfoldercontrolsenKrehierarchy– SimplerthandesktopOSes– Similartofilesharingservices– Fasttocheckaccess

Page 17: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Filestorage

•  Foldersonlyexistindatabase•  Filesdescribedindatabase&storedondisk

•  Diskdirectory!==folderhierarchy– Be_erforsecurityandloadbalancing– Fileshavegeneratednames

•  Avoidscharactersetandnamelengthlimits

– Fileshavenoextensions•  AvoidsaccidentalserverexecuKonof“.php”,etc.

Page 18: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Views

•  Listpersonal,public,andsharedfiles&folders– Pages&embeddedviewsinfolderpages

•  Integrateddesktop-likeUI– Selectfilesandfolders– Thenchoosemenucommand

•  ThreeUIvariants:– NoscripKng– ScripKngbutnoAJAX– ScripKngwithAJAX

Page 19: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Plugins

•  Fieldforma_ers– Foldernames,enKtyreferences,MIME-typeicons

•  Search–  Indexandpresentresults

•  Queueworker– Updatefolderhierarchysizesinbackground

•  AcKons&customcommands– MenuUIitemstoadd,delete,etc

Page 20: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

TotallinesofphpcodeNode:25,639(Drupalcore8.5.0)Foldershare:50,156(Alphaversion)

0

20,000

40,000

60,000

80,000

100,000

120,000

140,000

v1 v2 v3 v4 v5 alpha

Line

sofcod

e

Release

Foldersharecodemain

PHP

Docs

0

2000

4000

6000

8000

10000

12000

v1 v2 v3 v4 v5 alpha

Line

sofcod

e

Release

Foldersharecodemisc

JS

YML

CSS

TWIG

TXT

Codetrivia

Page 21: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FoldershareAPIDocumentaKon

Page 22: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

SmallDataAPI&Module

•  Structureddataparsers&writers– Tables,trees,andgraphs–  JSON,CSV,TSV,TXT,etc.

•  Fieldforma_ers– Light-weightvisualizaKon– Lineplots,barcharts,piecharts,etc.

SmallData

Page 23: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FORADMINISTRATORS

FolderShareconfiguraEonAdminmenuStructure>FolderShare

Page 24: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderShareconfiguraEonFieldsManagefields,forms&display

ConfiguraKonlocatedinadminmenuStructure>FolderShare

Page 25: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderShareconfiguraEonFilesStoragelocaKon&uploadrestricKons

Page 26: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderShareconfiguraEonInterfaceCommandplugins

Page 27: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderShareconfiguraEonListsManagelisKngoffileandfolders

Page 28: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderShareconfiguraEonSearch(opEonal)

Page 29: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderShareconfiguraEonSecurityManagesharingcapabiliKes

Page 30: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderShareconfiguraEonWebservices(opEonal)ManageRESTcapabiliKes

Page 31: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderShareRESTseengsRequiresRESTUIcontributedmoduleManageRESToperaKons

Page 32: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderShareUsageAdminmenuReports>FolderShareusage

Page 33: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FolderSharepermissions

Page 34: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

FORUSERS

Page 35: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Topfoldersownedbyyou

Topfolderssharedwithyou

Publictopfolders

Menu

Theselistsdisplaytoplevelfolders

FoldersmayhaveadescripKon

Page 36: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

MenuopKons–withnoselecKon

Page 37: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

MenuopKons–withselecKon

Page 38: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Sharingformtorestrictaccess

Page 39: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

SortablelisKngoffilesandfolders.

Differentusers

Page 40: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Breadcrumbsshowspath

Page 41: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

EveryfolderandfilemayaddadescripKon.(Forma_edtextfieldakaBodyfieldinDrupal’sNode)

Page 42: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

AddcustomsfieldssuchasCommentstoFolderShare.

TheFolderShareenEtyisfieldable.

Page 43: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

MenuopKonschangeonselecKon

Page 44: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

ViewsubfolderBreadcrumbsshowspath

Page 45: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

VisualizaKonscanbeswitchedinteracKvelytodifferentcharttypes

QuickvisualizaKonofCSV&JSONfiles

Page 46: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

SamplecommandlineinteracKonfoldershare --helpfoldershare --host http://demo.seedme.org --user dave --password ’cliRocks!'

help

Page 47: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

SamplecommandlineinteracKonfoldershare --helpfoldershare --host http://demo.seedme.org --user dave --password ’cliRocks!'

help

ls --help ls / ls -l "/Classification Collection" ls -l "/Classification Collection/Preliminary Results"

mkdir --help mkdir "/test" mkdir "/test/data"

upload --help upload "plots/villi.png" "/test" upload "plots/composite.png" "/test” Upload "sample-small-data/OpenGL mesh memory use.csv" "/test/data" Upload "sample-small-data/Image classification breakdown schedule.json" "/test/data"

download --help download "/test" "/Users/amit/downloads"

rm --help rm -rf "/test”

Page 48: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

SeedMe2–Targetusers/Usecases•  Researchers

–  CollaboraKonhuborpersonaldashboard•  Projectrepositories

–  IncludeprojectspecificcustomizaKon(e.g.taxonomy,keywords)•  Developers

–  IntegrateyourscienKficapplicaKon•  Sciencegateways

–  Datasharing–  Datapublishing–  Dataescrowservice

•  CyberInfrastructureproviders–  OfferSeedMepla\ormtoyouruserbase/communiKes

Page 49: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Realusagebyphysicists

Page 50: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Deployment/serviceopKonsDIY-Runowninstance(Yourbranding+yourdomain)•  Onyourownhardware•  CondohardwareProvider/vendorrunsaninstance•  YourinsKtuKon•  CIcenters•  Commercialvendors

Asacloudservice(Ourbranding&ourdomain)•  dibbs.seedme.org

Page 51: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Explorerswelcome(webbrowserneeded)Trialwebsite:sandbox.seedme.org

Tryityourself!

DevelopersinvitedDownloadcode:h_ps://dibbs.seedme.org/downloads

Page 52: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Team

AmitChourasia,DavidNadeau,DmitryMishin&MichaelNormanSanDiegoSupercomputerCenter|UniversityofCaliforniaSanDiego

SeedMe

AcknowledgementsAllusersandapplicaKonintegratorsfortheirvaluablefeedback

NaEonalScienceFoundaEon

ThismaterialisbaseduponworksupportedbytheNaKonalScienceFoundaKonunderGrantNo.ACI-1235505andACI-1443083

"Anyopinions,findings,andconclusionsorrecommendaKonsexpressedinthismaterialarethoseoftheauthor(s)anddonotnecessarilyreflecttheviewsoftheNaKonalScienceFoundaKon."

Page 53: FolderShare: Building a data sharing cloud on Drupal 8 for ... · • Project website ( Drupal 5 : 50,000+ pages) • SeedMe2 cloud service ( Drupal 7: 150,000+ pages) • SeedMe2

Talk to usamit sdsc.edu

•  Keen to learn about potential FolderShare uses cases in your work•  Seeking: Very proficient Drupal 8 PHP programmers Desired: Deep knowledge of Drupal 8 core •  Single sign-on: Checkout http://www.cilogon.org/drupal

Projectwebsite:dibbs.seedme.org

Trialwebsite:sandbox.seedme.org

MyquesEons1.  Howtodoaccesscontrolcheckonimagestyles?2.  HowtosavestateinformaKonincustomDrupalfileforma_ers?