<div dir="ltr"><div class="gmail_extra">On Tue, Jan 15, 2013 at 4:26 PM, Karl Rupp <span dir="ltr"><<a href="mailto:rupp@mcs.anl.gov" target="_blank">rupp@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":8yb">I disabled the automatic documentation of undocumented entities, that's why links got lost.</div></blockquote><div><br></div><div style>But all of those _are_ documented.</div><div> </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":8yb"><div class="im">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Are these hash URLs stable? What information goes into the hash?<br>
</blockquote>
<br></div>
That's a bit of a hodgepodge. Examples paths are basically mapped 1:1 to the URL, the exceptions being '/', which is mapped to '_2', and '.', which is mapped to '_8'.<br>
<br>
The MD5 hashes in use are said to be stable, as they are based on e.g. the function name and the parameters:<br>
<a href="http://stackoverflow.com/questions/8145278/making-stable-names-for-doxygen-html-docs-pages" target="_blank">http://stackoverflow.com/<u></u>questions/8145278/making-<u></u>stable-names-for-doxygen-html-<u></u>docs-pages</a><br>

For example, the following input is used for the MD5 hash of DMSetUp():<br>
PETSC_EXTERN PetscErrorCode DMSetUpDMSetUp(DM)<br>
<br>
Presumably the reason for introducing hashes rather than using function names directly is the overloading mechanism in various languages.<br></div></blockquote><div><br></div><div style>Okay, so if we add a const to an argument (for example), its man page is going to move to a different URL. (I care because people will click links from old email threads and it's not great to have an hash lead to 404 without suggested alternatives.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":8yb"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
As with all implementation structures, DM_Plex is not user-visible. The<br>
user-visible type is DM and they use DM* and DMPlex* interfaces. The<br>
type documentation is with the type name: DMPLEX ("plex").<br>
</div></blockquote>
<br>
In light of what Matt said, it's probably best to have two separate doxygen outputs?<br>
- One for users, containing only the things we want them to use.<br>
- The second is for (new) developers, where additional information is available. Ideally, the intersection of the two is an empty set, so the second is of little value for new users and thus they will more likely refrain from abusing it.<br>
</div></blockquote></div><br>Sure, though if we're going to provide a "developer" version, it should probably include everything (searching two places sucks).</div></div>