Google Documents: Is it possible to replace a shared file? - google-docs

I would like to have students send me some Stata (.do) code by sharing it with me on Google Docs.
Is it possible to replace the shared with an updated version?
I don't see any option to do that in the File menu, just renaming and editing the file description.
Google Docs works well to share and correct papers, but I'm finding it difficult to share and correct anything else. Thanks for any help!

You can upload multiple versions of the same file. All the versions will be available for review later. To upload a new version, Just click on manage revisions (from where you are in your image) and a dialog will appear. Click on "upload new revision" and navigate to your updated file.

I believe gmail now let's you attach/share updated files to email via Google Drive, and it always keeps the most up-to-date version available. So you can simply update your .do file on your desktop, keep the updated version on your Google Drive, and your students should get them.
http://gmailblog.blogspot.com/2012/11/gmail-and-drive-new-way-to-send-files.html

You can also consider Google Code (http://code.google.com; if you have a gmail account, you also have the Code account, or at least you can transparently create one from the main Google account), and work with your code using the standard code sharing, development and maintenance tools like Mercurial and its various interfaces. I have developed Stata code pretty much professionally, trust me that this is a much better tool than Google Docs (and any other real programmer here on SO would confirm that).

Related

Is it possible to prevent modifications to the title of a Google Doc yet allow the contents of the Google Doc to be edited

My Problem
I want to be able to migrate my Google Docs to a regular website while maintaining the links I had created between my Google Docs. Frequently I link one Google Doc to another Google Doc. As a result, I have created something that is similar to a wiki. For example let’s suppose I had created two Google Docs: Google Doc #1 and Google Doc #2.
Subsequently let’s suppose I had created a link (a hyperlink) in Google Doc #1 to Google Doc #2. Of course that's an extremely simple example. Let’s make it more complex. Imagine I had created a couple of thousand Google Docs with many links (hyperlinks) between them.
Of course backing up those Google Docs would be trivial either by using Google Takeout or rsync. However, what would happen if I wanted to move those Google Docs to a regular website? Then the myriad hyperlinks I had created would fail to point to the documents on my regular website.
That is, on my regular website, if I were to click on the link on the page which contained the contents which had been contained in Google Doc #1 (https://my_regular_website.com/google_doc_001) then instead of opening a link on my regular website to the page which contained the contents which had been contained in Google Doc #2 (https://my_regular_website.com/google_doc_002) , the link would point to the original Google Doc #2 (https://drive.google.com/drive/folders/google_doc_002)
My Technical Question
I read that, “You can use the 'contentRestrictions.readOnly' field on a `file' resource to lock a file and prevent modifications to the title, uploading a new revision, and addition of comments.” Source: Protect file content from modification
However, I would like to prevent modifications to the title file yet allow the contents of the file to be edited. For example, I might name a file something like, “1cn2OX4U67mY925GzG80hRBYjpqq2conSi9xgYikgwIM” which is the unique portion of a Google Docs URL.
That way, on my regular website, by using a simple regex, I could “relink” documents that pointed to https://docs.google.com/document/d/1cn2OX4U67mY925GzG80hRBYjpqq2conSi9xgYikgwIM
Final Thoughts
I like using Google Docs as, dare I say it, a word processor. Sometimes I use Google Docs to write essays. Sometimes I use Google Docs to create documentation. Sometimes I use Google Docs to collaborate with others (instead of emailing). Furthermore, I often use Google Docs’ outline format, styles, and voice typing.
Sure, I suppose I could use an actual wiki. But although I’ve tried many different wikis over the years, I never enjoyed using them. I found them to be clunky and overly simplistic. Furthermore, I didn’t enjoy installing them and needing to back them up. At this point In time, I don't want to have to install and maintain any software on a VPS (virtual private server).
I checked the documentation you are referring to and what you are trying to achieve is not possible, making a document read only will prevent a new revision of the file to be created.
For instance that won't allow you to change comments, content and title. At this time it is not possible to prevent some modifications, just all or none.
Regards.

PProPanel JSX - Basic guide to get started?

I know you can extend Adobe Premiere Pro with some simple JavaScript. The problem with that link (which I got to through the official Adobe website), is that all of sample code links are outdated (they point to the wrong location of the file, to lines that aren't correct anymore).
The second paragraph instructs you to install a bunch of things, none of which seem like things you "install", and they mention ExtendScript, which I don't understand whether is already installed with my Premiere or not (it's not available on Creative Cloud, and also the links I found on Adobe's website for it are, again, dead). I keep searching online and finding dead links to tutorials that no longer exist. Really, dead links everywhere.
I'm an experienced developer with good JS background, I just want know what I need, some simple examples of basic usage to get me started and maybe working links to some cheat-sheet I can use when I'm looking for available functions.
Extendscript is the name of the old API for automating Premiere and other Adobe apps. It's built-in and can basically do anything that you can do with the GUI, and it's javascript-based.
There is an IDE for Extendscript, the Extendscript Toolkit (ESTK) which has a debugger and allows you to inspect data etc. It's perplexingly hard to find on the Adobe website; I found it by a duckduckgo search here, I installed it through the creative cloud desktop manager, though I'm not sure how you do that with the current version.
As far as documentation goes, you're right, it's dead link city. There is a Javascript Tools Guide included with the Extendscript Toolkit, on windows it's in C:\Program Files (x86)\Adobe\Adobe ExtendScript Toolkit CC\SDK\. That covers creating UI elements, but doesn't explain Premiere's object model. AFAIK there is no official documentation for this, you have to use the ESTK data browser to look for yourself.
The CEP extensions are a new development and allow for easier integration with the host. I think you already have all the documentation there is for it. I'd advise that you pester Adobe to make it easier for developers like yourself to create tools for their users.
Here is for anyone else who gets here from a Google search: You can also go to this link to download the ESTK: https://helpx.adobe.com/download-install/kb/creative-cloud-apps-download.html

Apps Script vs Chrome Extension: Writing an alternative spellchecker to Google Docs

Say, I want to develop an alternative spellcheck module to google docs.
This means that I have to get corrections from my backend, and color the misspelled text's background, and do a small popup bubble when user hovers over it, where I'd display the correction. (please mind that spellcheck is not the actual goal of my project, but it does address my problems in a more simplified way)
What are my options? Any ideas how to do this?
Few possible solutions I came up with:
Chrome extension vs Apps script
Chrome extension
pros: user has to grant permissions once, can freely traverse and append anything to dom via content script
cons: is a "hacky" way, if google changes classnames or js source, it would stop working, and also, reverse engineering google docs's editor engine is impossible
Apps script
pros: supported by google: if it works, I dont need to be afraid of docs updates
cons: it seems to me that I can't just fiddle with the dom (because of Caja compiler), has very limited support (if any) for custom highlighting or hover functionality.
As I see it, neither of these are perfect solutions for this project. What do you think? Any suggestions are very welcomed.
I know this is an old question, but I have recently gotten into the same problem, and believe I have a solution. So for future Googler's I will post my answer here.
My solution was to create a Chrome Extension and understand how the Google Docs DOM's are structures to interact with it.
You can find my code to work with the Google Doc DOM's here
In Apps Script you can't "fiddle" with the DOM and you won't be able to implement hover functionality. Also, a lame Highlighting would involve changing the current document itself (which would go to revision history, undo queue, etc)
Therefore, your only altertive is the Chrome Extension. But I agree with you on the cons. It is a super hard task that could break at any minute without notice.

What is a good text editor for the cloud?

Hi everyone I am looking to do more work based in the cloud, so I have more flexibility and can use virtually any computer to do my work on. So, my question to you is what is a good text editor for the cloud?
I currently do my development on a mac using text mate. Is there anything remotely similar that anyone would recommend?
If you need to edit text files in a cloud service like DropBox, I've recently discovered Draft https://draftin.com/
It combines a clear interface focused on writing, MarkDown support for formatting and connections to Dropbox , Google Drive, Evernote and Box. Any change on the document is automatically saved back to the service it originated from. I wrote about it here http://bit.ly/g-draft
Mozilla has developed a unique app called skywriter that seems to do the trick. http://mozillalabs.com/skywriter/
Update
I have since found the following.
Code Anywhere - https://codeanywhere.net/
Atom Write - http://www.atomwrite.com/
Koding - https://koding.com
All provide good solutions Code Anywhere is my favorite thus far.
I realize this is an older post, but I wanted to chime in here:
As CarterMan mentioned, there is Koding.com which is really good. You can get private vms now and will shortly be able to access them via ssh and host private domains. Couple with their editor and community features, koding.com is a pretty cool project.
Second to that would be Cloud9 IDE. You can edit in the cloud and use the command line, though you will need to upgrade to get all the premium features. One of the cool things about this project is you can fork the repo and host it on your own machine if you like, the process took me about 5 minutes to get up and running.
Previously I noticed that both these projects had disconnect issues in the past but more recently they've both seemed to become more stable.

Google Docs download en masse

These days I keep most of my development notes and documentations in Google Docs. There are time that I'd like to download everything. How is this possible on a Mac and Linux computers, without doing each one individually? Google used to have the ability to download all spreadsheets. However, I can no longer find this functionality.
I would like to have the documents in Open Office or HTML format. Thanks.
If you install google gears into your browser: http://gears.google.com/
You can use the built-in offline functionality inside of google docs
If you really want to roll up your sleeves, use the gdata API
http://code.google.com/p/gdatacopier/
I looked into Joe's answer. gdatacopier is a useful tool to bulk download documents. Here's one example that I use to download all my spreadsheets from a named folder.
gdoc-cp.py -e csv -g spreadsheets -o /tmp -u me#gmail.com -p password -f "MyFolder"
There are several examples in the documentation. One limitation is that it does not seem to work for hosted domains. All email addresses must be foo#gmail.com.
Bulk uploads seem quite doable too. Getting this example to work was straight forward.
http://www.webmonkey.com/tutorial/Create_Automated_Backups_in_Google_Docs_Using_the_GData_API
GDocBackup http://gs.fhtino.it/gdocbackup
C#, Open Source, runs on Win + Net and Linux + Mono (not tested on Mac + Mono, sorry).
You can do this easily with the Google Drive API. I have a blog post featuring a short Python script that exports a Google Sheet as CSV. You can take that example, and make these changes to make it work for you:
Source MIMEtype goes from Sheets to Docs -- for all G Suite/Google Apps (import) MIMEtypes, see this page
Destination MIMEtype changes from CSV to whatever you want that's supported (Open Office & HTML included) -- for all export MIMEtypes, see this page
If you prefer to use something other than Python, use that example as pseudocode, then create your solution in any language supported by the Google APIs Client Libraries. Sample code in other languages can also be found on this page.
Once you're done, stick it in some cron job to run it regularly without you having to think about it -- you may have to add timestamping to the exported filenames to prevent overwrites. Hope this helps!

Resources