Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Post History

60%
+1 −0
Q&A Our team needs to automate many routine tasks. Can we use a single tool or do we need to use multiple ones?

To automate any data manipulation task you need two things: Access to the metadata or pattern in the source data that you want to act on. The ability to change the metadata or data of the source...

posted 6y ago by Mark Baker‭  ·  last activity 4y ago by System‭

Answer
#4: Attribution notice removed by user avatar System‭ · 2020-01-03T20:41:56Z (over 4 years ago)
Source: https://writers.stackexchange.com/a/33499
License name: CC BY-SA 3.0
License URL: https://creativecommons.org/licenses/by-sa/3.0/
#3: Attribution notice added by user avatar System‭ · 2019-12-08T08:02:28Z (over 4 years ago)
Source: https://writers.stackexchange.com/a/33499
License name: CC BY-SA 3.0
License URL: https://creativecommons.org/licenses/by-sa/3.0/
#2: Initial revision by user avatar System‭ · 2019-12-08T08:02:28Z (over 4 years ago)
To automate any data manipulation task you need two things:

- Access to the metadata or pattern in the source data that you want to act on. 
- The ability to change the metadata or data of the source in such a way that you don't corrupt the file or make it unreadable. 

The reason that so many systems that want to permit high levels of automation use XML as a file format is that the XML format is designed to facilitate these two operations. (For example, the fact that an XML does not use pointers or fixed-sized structures means you can update its content without having to update other data in the file.)

There are also many good well-tested tools for manipulating XML, both for accessing metadata and patterns in the file and for updating the files without corrupting them.

Since you have a system with multiple file formats you want to automate, you either need a tool that can access and manipulate all of those file formats, or you need multiple tools.

Most programming languages, of course, will allow you to access or update just about any file, but, outside of libraries for addressing specific formats, they also leave it entirely up to you to decipher how to read and write those file formats and that can be very non-trivial. Python is a great choice if you go this route, but consider that unless you can find libraries for manipulating all the file formats you use, it is going to be a lot of work to get your automation working reliably, and that an update in any of the file formats involved could break it.

So, the answer is that you probably need various tools. But then, of course, you run into the issue that you have to integrate the running and the exchange of information between those tools.

What all this says is that if you want a high level of automation, your best route may not be to go looking for tools to automate tasks on all the formats you use now, but to go looking for a format or formats that already have great automation features or that were designed to be easy to manipulate. And that search is probably (though not certainly) going to lead you to XML.

#1: Imported from external source by user avatar System‭ · 2018-02-10T20:37:57Z (about 6 years ago)
Original score: 1