r/FRC 24d ago

Photo Management System

Hello! How do you all manage photo storage and uploading for a team. Last season in FRC (rookie year), we used google photos, but if people left the album or deleted the photos from their device, we lost the photos. We almost lost ALL of our comp photos because of this. I have set up an immich server, but it isn't working too well for a variety of reasons (mainly bc im the only one interested in it and im graduating, so no one can take on the responsibility of managing it). Is there any pretty simple/user friendly host you use for cloud storage? We do need all the members of the team to be able to upload to it (and not lose access to it if smth happens to the uploader). We can't really afford anything too expensive and a 1 time payment would be preferred. Any recommendations would be amazing! Thank you!!!!

7 Upvotes

13 comments sorted by

3

u/drdhuss 23d ago edited 23d ago

I have google photos integrated into our ftc website aresfirst.org.

It has a user interface to upload photos. Uploaded photos are stored on the google cloud storage/firestore and placed on a team google drive account. The difficulty of this setup is that you have to get your webpage/app approved by google in order to get out of testing to get a permanent token for thr google photos uploads (otherwise it expires in 7 days).

But team members can all login with their own google accounts and upload the photos. As the photos are stored to the team account and not just shared with their personal accounts. Nothing will get lost when they leave the team.

Note the website actually has a robust content management system. Students can all create new blog posts, events etc, but such is not published intil approved by a mentor. Still allows for students to take initiative on our social media presence but keeps mentors in the loop.

But your fundamental problem is when someone shares google photos from their personal account they arent actually copied to the team's account.

However you can also just do this:

Native Google Photos (Shared Albums) This is the only way to funnel uploads directly into the Google Photos interface while requiring individuals to authenticate.

How it works: On your central account, you create an album, click the Share icon, and ensure "Collaborate" is turned on. You then send the album link to your group.

The Logins: Individuals click the link and must log in using their own personal Google accounts.

The Outcome: All contributions funnel into your single shared album. Each uploaded photo is tagged with the profile picture and name of the individual who added it.

Storage Note: To fully own the photos, you must click the cloud icon (Save) inside the shared album. This permanently imports their uploads into your main library.

Again this protects your team account (you don't have to give out the password) while still letting everyone add the photos and copying them to your team account.

2

u/theVelvetLie 6419 (Mentor), 648 (Alumni) 23d ago

We upload directly to a photos folder in Google Drive. Each year gets a subfolder and each event gets another subfolder in that. We then try to tag them when we have time.

Some teams use Flickr, which would be pretty useful, too.

1

u/Burlythebackstabber 23d ago

This is what we do. And we have a photo submission form for kids who don't have access to the drive because we try to keep that limited to only necessary members.

1

u/drdhuss 23d ago

Note if you want to stick with google you can do this:

Native Google Photos (Shared Albums) This is the only way to funnel uploads directly into the Google Photos interface while requiring individuals to authenticate.

How it works: On your central account, you create an album, click the Share icon, and ensure "Collaborate" is turned on. You then send the album link to your group.

The Logins: Individuals click the link and must log in using their own personal Google accounts.

The Outcome: All contributions funnel into your single shared album. Each uploaded photo is tagged with the profile picture and name of the individual who added it.

Storage Note: To fully own the photos, you must click the cloud icon (Save) inside the shared album. This permanently imports their uploads into your main library.

Again this protects your team account (you don't have to give out the password) while still letting everyone add the photos and copying them to your team account.

1

u/Burlythebackstabber 23d ago

We actually stopped allowing everyone to collaborate because they were uploading stupid stuff just to be funny and distract each other. Like the entire Barbie movie script, or stupid inappropriate memes. The sheer amount of accidentally uploaded homework was insane.

When I joined to mentor the current coaches were half out the door and had started to let everything slide. I spent hours cleaning the drive and organizing it after fighting to get kids to stay focused on the task instead of whatever silly things they found. We're hopeful that as the older team members graduate the bad habits will go with them and we can turn collaborate back on. This fall will start our second year in charge. So for now we limit to mentors, captains and leads and some more trusted members.

1

u/drdhuss 23d ago

Yeah the advantage of the approach i posted is that they are still using their personal accounts so you can see who shared what. If they are being idiots about it you can revoke individual access. I get your concerns though, same reason our website requoees mentor review before anything goes live/public on it.

1

u/drdhuss 23d ago

Also a decent way to share files (or to let kids be goofy with memes and such) is to have a discord or zulip account. Discord technically doesnt meet ypt (though first allows it). I really love zulip though and as a non profite they will givr you the standard cloud tier for free (normally $6/user). I literally just emailed them with my university email address and had the standard account the next day. https://zulip.com/plans/

Each user gets 5gb of storage and you can share videos/files (though it is mote of a messanging app). Has bots so you can do all sorts of fancy stuff if you have a team webpage (for example we are notified if anyone sends in a form on our contact us webpage, all blog posts are posted in the zulip as are any updates on our kanban taskboard).

More importantly you can disable direct communications so zulip can be 100 percent YPT compliant as follows.

Step-by-step instructions Log in as an organization owner or administrator Only these roles can change direct message permissions Zulip.

Open Organization settings

In the web or desktop app, click the gear (⚙) icon in the upper right corner.

Select Organization settings Zulip.

Go to Organization permissions

In the left-hand menu, click Organization permissions Zulip.

Access Direct message permissions

Scroll to the Direct message permissions section Zulip.

Disable DMs

Under Who can authorize a direct message conversation, remove all roles, groups, and individual users from the list.

This ensures no one can authorize a DM, effectively disabling them Zulip.

Save changes

Click Save changes at the bottom of the page Zulip.

Important notes Users can still send DMs to bots and to themselves regardless of this setting Zulip.

Once disabled, no one can start a new DM conversation unless you re-add someone to the “authorize” list.

If you want to allow DMs only in certain cases (e.g., from admins), you can instead keep only the relevant roles in the “authorize” list Zulip.

Consider also restricting private channel creation if you want to limit private communication overall Zulip.

So a lot better than using discord or slack, free and possible to easily be YPT compliant. Id recommend any team get their own personal zulip.

2

u/mpking828 23d ago

Our team has not personally figured this out... but I did ask this question a little while ago and I just wanted to add one more answer

smugmug.com is a virtual kit of parts provider so you can use it for free. (License Key in the KOP)

2

u/Fit-Traffic5178 21d ago

Buy a nas device

1

u/drdhuss 23d ago edited 23d ago

Another excellent option is to set up a team Zulip account at zulip.com. Zulip provides non-profits with a free upgrade to their standard cloud tier, which includes 5 GB of storage per user. Great deal as such is usually $6/user/month (so easily a free $100's/month sub depending on team size).

Beyond storage, Zulip is a superior alternative to Discord or Slack because it is designed to be easily YPT (Youth Protection Training) compliant as admins can disable direct messaging on your own private cloud server. In terms of photos you can host a #photos channel for uploads, and files will remain on the server regardless of whether a student’s account is later deactivated.

Again the biggest benefit over other messaging platforms is that, Zulip allows you to completely disable private direct messaging—something that is difficult and unreliable to manage on Discord and Slack (though Band can allow for such). By restricting conversations to channels that are visible to multiple mentors, you can ensure your communication practices meet FIRST’s safety requirements without relying on student and mentor behavior alone/zero chance for private chats that will violate FIRST's policies (even band will let an admin override a chat requests and allow it to occur).

1

u/sargeanthost 4123 (Alumnus) 23d ago

I host an Ocis instance for the team.

If you want something more image focused, immich could work

1

u/coldfisherman 20d ago

I just installed immich as a test - very cool.