They probably should standardize and simplify, but I'm not sure I need to inventory everything to figure that out. What do we need? A form creator, file management that will cover documents and video and audio, streaming for AV content, an interface for creating and publishing content ...
If I was handed some random site and asked "figure out what's here" I'd probably start by asking around to see who maintains what and what do they use. But then I'd check the server and see what software is installed and try to figure out what parts of the software are responsible for what parts of the content.
eg static files on these urls, cms on these urls, custom app on these urls, etc.
Then I'd look in the code for various things like wordpress plugins or analytics
I'd put all that info in a spreadsheet
but honestly the possibilities are endless.
I'd hate to have to reverse-engineer, eg, my current employer's site, even with the code available. There are just SO MANY WAYS that content of any kind can end up in the user's browser.
yes and no, I guess. It depends on what you'll allow for "any way"
the code's organization is largely influenced by the framework we use and our own organization of various submodules.
we use a framework called Struts (it's an old version though) and in struts you have a big XML file that lists all your "actions". you write the action path in the struts file. The incoming request is handled by the ActionServlet (a generic bit of code that handles all requests which have a certain url pattern) and then it parses the url and determines which Java class to invoke.
Typically a java class does some work (like looking up some content) then passes control off to a JSP, which is roughly equivalent to an aspx file.
the JSP then is typically responsible for emitting HTML.
we organize our actions and jsps according to their function, but externally all our URLs are in the root namespace.
So on our site we might have example.com/GetProfile.do?id=1233 and example.com/ComposeMail.do?to_id=4567 and example.com/Login.do and example.com/SubmitPayment.do, etc, etc
In the EAR file those would all be in different places (according to Java's rules for where files can be) but externally they appear all in the root of the site.
right. The profile.jsp might be in /jsp/account/profile.jsp and the payment.jsp might be in /jsp/ecommerce/credit_card_form.jsp but externally A) those .jsp urls are never seen and B) there are no sub-folders in the public paths
ah, static content.
yeah then you have a different beast.
But you should still probably take a look at what apache or IIS modules are installed and see if any are being invoked, especially url-rewriting ones.