I'm wanting to use drupal to set up a site for a part time photographer. I've got a little drupal experience under my belt, but i stress *a little*. A simple website is no problem for me and my skills with drupal will work great for this. After just a public website I'd like to set up an area where clients could log in and view their own images. So this would be a private album that only one (possibly more) user would have access to, and is totally controlled by one admin user. Would the gallery module be suited for this? Or is the acid photo gallery an option for something like this. If both could work, which would be better, and which would be easier to integrate into a drupal site?
thanks
Comments
I'd go with acidfree
Both is possible. When you integrate gallery you can use its own access features. If I recall correctly you can create user groups and set album access rules based on these groups. Although the gallery integration module handles user synchronization between Drupal users and Gallery's user table (i.e. each new Drupal user or logged in user is added to Gallery as a user) in an automated way you have to add manually every user to the appropriate group by using Gallery's own admin tools.
If you go with acidfree then albums and pictures will be Drupal nodes which means you can use one of the content access modules to achieve what you want. For my own site I first tried integrating Gallery since it seemed too much advanced
compared to Drupal's core image module. But then things like theming, comment moderation, internationalization became a huge hassle since I had to work completely outside Drupal. Then I discovered acidfree which has all what I need from an image module. Since it is a Drupal module, there is no extra work and for my galleries I can use whatever is available to other node types.
Oh by the way, if you mean by private album which can be viewed by everyone but whose contents are controlled by only a user (or a user role) then you don't even need an extra module to control access.
Very good
Very good summary. Acidfree was the choice for me when I built my photo site (see link in my signature). It has everything that is needed, integrates very well with drupal and is not as bloated as gallery2. I have a lot of pictures online, performance is still good.
Andre
-------------------------------------------------
http://www.opentravelinfo.com
http://www.aguntherphotography.com
Am I missing one step
Thanks for the info, but I'm either missing one step or I wasn't clear enough.
I am trying to help a photographer set up a website. she wants to be able to upload a set of images, and allow access to that album to only one user.
I got acidfree set up, and i like the way it works, but i don't see how to restrict access to an album to a specific user.
the one step in installing acidfree that i didn't understand was this one: 1.5. Apply the filemanager-private.patch to the latest filemanager.module. There is definetly no filemanager-private.patch file in there anywhere. Is this somehting that is just not ready for 4.7 yet?
any help greatly appreciated.
Check access modules
acidfree comes with node access options for creating albums and images but for controlling who can view those albums/images you will need to install a node access module like:
Simple Access : http://drupal.org/project/simple_access
or
Taxonomy Access Control : http://drupal.org/project/taxonomy_access
For using the latter you can have a vocabulary defining user access levels including terms like public, private and use these terms to control access. Both of them requires specifying the node access level during node creation or update (this may require going over each node after a mass uploading of images).
If you have some PHP and Drupal knowledge you can also hack the module's code by adding smt like
$node->uid == $user->uidto the access function. You can also modify the node creation function and assign a default taxonomy or role to solve the mass upload problem.Unfortunately there is no out-of-box solution for what you want which I am aware. You need to experiment with different node access modules and improvise a little bit.
You may also add your comments, need, and questions to this acidfree issue (appearantly there is another module which can be modified to do what you want):
http://drupal.org/node/61089
or add another issue for support.
I still think that going through all these worth using acidfree for its other benefits but of course for your needs it may be easier to integrate Gallery2 and use its access features.
Good luck.
Restrict control to the whole site?
If you want to restrict control to the whole site rather than some part of it (i.e. only the album and image nodes) then there are also modules to do that. In that case I guess it will be much easier and you can forget what I said above.
You can search for "access" at the modules page and check such modules.
the one step in installing acidfree that i didn't understand was this one: 1.5. Apply the filemanager-private.patch to the latest filemanager.module. There is definetly no filemanager-private.patch file in there anywhere. Is this somehting that is just not ready for 4.7 yet?
I think the 4.7 version of filemanager already includes this patch so for acidfree 4.7 it is not distributed/required.
Please help
"Oh by the way, if you mean by private album which can be viewed by everyone but whose contents are controlled by only a user (or a user role) then you don't even need an extra module to control access."
Can you please elaborate? I'm new at this kind of thing but this is exactly the effect I'm looking for.
Access control rules
Modules can define some access control rules where the administration of the site defines which user roles can do what. When you go to your administration menu and choose "access rules" you will see such a table. For acidfree you can assign these capabilities to user roles:
acidfree mass import
create acidfree albums
create acidfree photos
create acidfree videos
edit own acidfree elements
If these are not selected for user roles "anonymous user" and "authenticated user" then in effect they can see albums but not control their content. If you want only a group of users to add photos to your albums then:
* create a user role xxx.
* assign the necessary acidfree permissions to that user role xxx.
* go to a user's page and assign him/her the user role xxx.
Hope it helps. Sorry I wasn't checking the forum quite sometime and managed to answer now.
Thanks.
I tried Shazamgallery in the interm but it doesn't seem to seperate galleries. I mean, people can make galleries but everyone can get into and tamper with each other's galleries, even though I selected that users can only access and edit their own images. I hope acidfree will be better!
Have a search (on this site)
Have a search (on this site) for a patch for acidfree that disallows users from adding/modifying pictures to other users galleries. I've installed this and it works great so far. I plan on making some small modifications to the 'show galleries' page so that all galleries are grouped and linked by user id, so that a browser can select that user and see all the galleries owned by that user. It'd be nice to sort by category too, as i'm adding some taxonomy vocabulary to the image posting (if i've worded that correctly, lol).
If anyone has any ideas on how best to do this, please let me know. If i do it i'll post my results here.
John
Ok, I haven't found it yet
Ok, I haven't found it yet (I get all sorts of confusing information regarding many patches) but I will try. Any more information you could provide would be much appreciated.
I'm doing exactly this
I'm a photographer and I have just about completed doing exactly what you describe for several different private client galleries of my commissioned work. Each gallery has access restricted to Drupal roles which map to Gallery groups, with one or more users in each. I used a custom block on the front page which only displays the name of the logged-in group's gallery, or none, for anonymous users or users not in one of the client roles. So clients don't even get to see menu entries that would tell them who else I work for ;) and it all looks nicely bespoke and specific to them.
I decided Gallery2 embedded was far more suited to the task for me, because it has umpteen different upload capabilities - Gallery Remote is magic - it displays and searches IPTC, and generally has a demeanour that is recognisable to anyone who's used a web stock library. I also wanted the email cart, which means clients can plonk their choices of images on a lightbox and email it to me as an order, right off the site.
Acidfree would be a better choice for smaller scale use or where you want to use the pics in other Drupal content. I played with it a bit and became frustrated at how awkward it became to manage large collections. However it's definitely horses for courses, Gallery has a very focussed purpose, whereas Acidfree seems a better bet for a more aesthetic rather than functional presentation. In fact I have been thinking about using Acidfree as well, for some personal pics, but it appears to conflict with Gallery - I get some weird out of memory messages and Gallery crashes and breaks out of Drupal unless Acidfree is disabled. It's fine standalone or otherwise.
Not much to see yet at http://tonysleep.co.uk - it's all locked down whilst I create other content. But there are 2,000+ images in Gallery that you can't get to. I'll knock up a demo account with a small private library, if anyone's interested.
Regards
Tony Sleep
Tony can you tell me how you
Tony
can you tell me how you restricted access to gallery? I have tried a number of things and can lock down the content on the drupal site but any user appears to get all access to any Gallery album. I have tried setting up groups in Gallery and restricting access that way but to no avail. It appears that any registered user of drupal gets admin rights to Gallery?
Cheers
Andy
restrictions on gallery albums
OK - I worked it out. I had a problem with my testing as my "admin" login was still in cache so a restricted user login to drupal was still giveing me admin login to gallery. What I did was create groups called "family" , "friends", "colleagues" - made the appropriate people members of these groups and then assigned permissions to each album based on these groups. I have a lot of albums - 51 - and will have to go through each one but its a way to make it work. If there is a way to automate this be glad to hear about it.
Arrange albums into subdirectories
Sorry for the late reply. The way I have managed this is to arrange my different client albums into a hierarchy that corresponds to groups. The group access rights that apply to the parent folder can then be automatically applied to all subalbums, and new subalbums inherit the parent folder's rights.
EG
admin (root album - access only by me)
- personal (access only to friends/family group)
-- album 1
-- album 2
- demo (demo parent - access to demo user account)
-- album 1
-- album 2
- clients (access only to me)
-- client 1 parent (access only to client1 group)
--- album 1
--- album 2
--- album n etc.
-- client 2 parent (access only to client2 group)
--- album 1
--- album 2
--- album n etc.
and so on. This works perfectly and is very easy to admin, add new photos etc
If you use the menu block I mentioned, no links to any G2 albums are shown to not-logged-in visitors. Once logged in all they see is a link to the parent album for their group. Try http://tonysleep.co.uk and login with demo/demo - you'll get a link to the 'demo' group's albums under the 'client area'menu.
-edit - or in fact didn't mention the block!
Make a Drupal custom block like this
Regards
Tony Sleep
A different scenario
(i don't mean to hi-jack this thread. you guys have been extremely helpful in explaining the different photo options and i wonder what you think of my scenario)
i'm launching a community-driven site soon and am looking at how to incorporate members adding pictures. it would be nice so that all members could embed pictures in their created content (articles, etc). i have organic groups implemented. it would also be helpful to have groups to have group albums (for events, members galleries). one of the big things is when users go to embed their pictures, that they only get to choose from pictures from their albums.
i had this issue in gallery2 on a different site - when one user goes to embed a picture, they can browse ALL pictures ever uploaded. i don't know if there's (easy) ways around things like that.
which photo module would be best, which additional permission modules do i need (if any) and are there any gotchas (regarding permissions and organic groups playing together nicely for example)?
Thanks,
Jason
image_gallery
As you have mentioned only the modules Gallery and Acidfree, how about the module image_gallery? I have tried simple_access and nodeaccess, but I didn't figure out how to restrict access to a specific gallery.
Image module?
If you mean the image module (which produces galleries and image displays), try combining it with taxonomy.
- Use taxonomy to define specific galleries and sub galleries etc,
- then assign your images to them
- then use the taxonomy_access module to define which user roles have access to which galleries (taxonomy terms).
This should work just fine. I'm using it for my portfiolio/exhibit/stories sections - but not for access restriction, although the possibility is definiitely there - I've managed to accidentally block access in the past:)
Regards
Tony Sleep http://tonysleep.co.uk
automatic creation of gallery for each user
Can anyone tell me if the solutions on this page will do the following?
--Each User automatically gets a Gallery
--Galleries are made public, but Users can only edit their own Gallery
--Limit the Gallery to XX number of images (not as important)
--Links to the User's Gallery is made available from the Profile page
Thanks!
hack for creating gallery for each user
I am also searching for this ability and found this page http://drupal.org/node/86489. I think that using taxonomy to create user galleries is the way to go but am confused about implementation. Let me know if you understand.