Embarking on the journey of file uploads to Commons some 15 years ago was nothing short of an adventure. Yet, amidst the excitement, I was soon faced with the pressing issue of the glaring absence of adequate tools tailored for seamless mass uploads. Whether sourcing content from platforms offering free licenses or delving into the realms of the public domain treasures, whether in Glam projects I helped or coordinated, the goal was twofold: to ensure maximum efficiency and enjoyment for all involved. However, achieving this was faced with technical hurdles and battles against the mind-numbing monotony of organizing uploads and the endless cycle of copy and paste, the tedious task of reorganizing information from source to upload, which tested patience and resolve.
The Catrapilha tool, named after the Madeiran word for the heavy machines which are able to push and carry stuff from one side to another, bulldozers (from the Caterpillar American brand), is at this point a straightforward Web app consisting in a main view displaying an image list, with a maximum number of images defined by the user, populated by the contents of the source platform via REST APIs or another collecting technique. The files that were not yet uploaded to Commons- or discarded, if copyrighted or out of scope - are shown, consisting in the current working collection. Clicking in an image thumbnail, the user is transported to the detail view of that file, with the possibility of navigating the collection back and forward. At the detail view, a draft for the file body to be uploaded along with the image is presented in an editable text input, including the filedesc and license-header sections with an initial text that the algorithm was able to build automatically, presented to the user for final corrections and polishing before the upload. The user can either upload the file to Commons, or discard it. After each of those actions, the detail view moves to the next image in the collection, until all the files are processed, after which the user can return to the image list view to collect more files from the source to process. The uploaded/discarded image list is stored (and fetched) in the universal and convenient JSON format, either locally in a .txt readable file, or online, e.g. at the users' Commons profile, whatever is more practical or suitable for the user.
More than 1700 files using a variety of different licenses were already successfully uploaded from Arquipelagos to Commons using the Catrapilha tool, in a very smooth way which leaves to the tool the vast majority of the tedious task of copying and reorganizing all the information gathered through the WordPress REST APIs in a meaningful way recognized by Commons, leaving to the operator/uploader not more than a quick review before hitting the upload button. A set of categories can be defined at the tool, so that most of the curation work would be already done after upload. The tool was successfully tested operating more than one project at the same time, with repositories built in WordPress, Archeevo and Flickr, but I'm convinced it can deal with virtually anything.
Please note that this is not an out-of-the-box tool ready to use, but rather an approach to solving the stated challenges using React. It is mainly targeted to React coders, or people willing to learn and experiment with React over the Wikimedia REST API set, something I personally find extremely amusing and thrilling. The tool is expandable to include as many different projects as you want, each with its proper configurations and settings, what can be achieved by adjusting the provided project specific list and detail components, and adding new ones as needed following the same rules. It can be expanded to include wikidata editing, either per se or as part of a GLAM mass upload campaign, allowing for simultaneous Commons image uploading and correspondent Wikidata editing, if that is the case. At this point it's not fully automated, though fully automating it, if needed, is a very simple step.
The Catrapilha code is hosted and version managed at GitHub, where you can easily fork it and start your version of the tool, or simply reuse it at your own tool. The Arquipelagos project is used as a showcase of how things may work. Please have in mind that this development is done entirely as a volunteer in my spare time, so some code is not as polished and clean as I would like to, and there are still a number of non critical bugs I'm working to fix. Note that in order to use it, you'll need to create a private Config.json with at least your Access token, and your Client application key and Client application secret, allowing Catrapilha access to the wikimedia projects using your credentials. Be careful to never share this information publicly.
As the Catrapilha tool continues to evolve, paving the way for smoother and more efficient uploads, the journey that began with Arquipelagos now extends its reach to include other destinations and diverse repositories across the digital landscape, hopefully also providing a number of useful React code examples and implementations for GLAM-related needs. Thank you very much if you were brave enough to read this till this point, and please leave a message in my Commons talk page if you want further information or help with this tool.