tballison commented on PR #3277:
URL: https://github.com/apache/tika/pull/3277#issuecomment-5963874799

   Let me know what you think of this from my :robot: 
   
   ```
    Findings
   
     1. Page-node GUIDs end up in entityGuids. I logged which object type 
supplied each GUID in the classic walker. Every entityGuids value on the 
fixtures came from JCID 0x0B. The PR defines that type as
        OneNoteJcid.PAGE_NODE but neither switch handles it, so it falls 
through to the default case (OneNoteTreeWalker.addClassicEntityGuid, 
MSOneStorePackage.recordEntityGuid). As a result, entityGuids in
        practice is undocumented page-node IDs. testOneNote1 and testOneNote2 
return the same two values. Either map page nodes to their own key or drop the 
catch-all key.
     2. The PR doesn't show that these are the IDs OneNote itself uses. The 
section-node (0x07) GUIDs are dropped and the file header's GUID is used as the 
section GUID instead. The page GUID comes from the
        page-metadata object (0x30), not the page node (0x0B), and the two 
differ in every fixture. The tests only check the GUID format, not the values. 
Since these keys freeze once released, ask the author
        to match them against OneNote's "Copy Link to Page" section-id/page-id 
for one fixture, then pin those exact values in tests on 
testOneNoteFromOffice365.one (newer format) and testOneNote2.one
        (classic).
     3. Classic and newer formats may disagree on old page versions. 
test-tika-3970-dupetext.one (a version-history file) yields 2 page GUIDs but 
only 1 page-series GUID. The classic walker records GUIDs from
        every revision, while the newer-format path skips old page versions (it 
has a test for that). Check whether the classic path is picking up 
version-history pages.
     4. The output change isn't in CHANGES. Newer-format files now get <div 
class="page" id="{GUID}">; classic files still have no page divs. Add a CHANGES 
line, or keep the change to metadata only.
   
     Maintainer decisions
     - SECTION_GUIDS is a bag, but a .one file is one section. A single 
onenote:sectionGuid may be the better key to freeze.
     - OneNoteJcid and GUID.fromMicrosoftBytes become new public API.
   
     Hygiene
     - The 100,000-value cap and the type-to-key switch are written twice: once 
in OneNoteGuidCollector, once inline in MSOneStorePackage with its own 
MAX_GUID_COUNT. Share one collector.
     - The newer-format bags are in insertion order while the classic ones are 
sorted (the existing author keys are sorted in both).
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to