I'm putting together some FAQs for my users on Apps.
Anyone have any other advantages for keeping .config files in Apps
But I can create Workspaces/searches/alerts in the GUI. Why should I bother putting them in an App?
Yes, you can create the Workspaces and searches on the fly - often you will do so. However, there are some benefits of putting them in an App.
Portability: The App can be ported to another Logscape environment (perhaps from UAT to Prod) in a single step, rather than recreating them manually.
Durability: If a search is created in the GUI and then deleted (perhaps by accident), it's gone for good. if it resides in the app, it can be restored instantly. In a more extreme example, should the entire environment be rebuilt, the deployment of the App would instantly return it to the correct state.
Consistency: As and when the app is superseded, it can be removed with all it's components instantly, avoiding conflicts or latent Workspaces.
Version Control: An App is a collection of XML and scripts - all of which can be version controlled. This allows you to follow best practice in ensuring environment stability.
This does not mean every search you create should be ported to an App. It would be too cumbersome to redeploy the App every time. Similarly, the workspace may only be relevant to today's work. However, if something is important, regularly used or relies extensively on data coming from an App, it makes sense to ensure all the Workspaces, Searches, Directories and Alerts that you depend upon are contained within an App.
Good points! Embedding them in the app provides all of those points. Plus you can organize multiple configs within an app.
In some cases, say you were experimenting, you could use multiple *.config files and upload those next to your app (externally) and deploy them. Once you are confident the changes are locked in, then migrate them into the app bundle.
Splitting definitely helps. Especially because, if you split them (Searches,Workspaces,Alerts etc) then they are a lot shorter and a lot easier to debug if you make a mistake or need to refactor