Skip to content

Conversation

@Axel-Naumann
Copy link
Member

Also preparing for new IO group doc

@phsft-bot
Copy link

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@Axel-Naumann Axel-Naumann self-assigned this Jan 19, 2022
../../../tutorials/io/file.C
End_Macro
The structure of a directory is shown in TDirectoryFile::TDirectoryFile
A ROOT file is a file-system file storing objects, possibly inside directories.
Copy link
Contributor

@eguiraud eguiraud Jan 19, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A ROOT file is a file-system file storing objects, possibly inside directories.
A ROOT file stores objects in a file-system-like logical structure, possibly including directory hierarchies.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it's a file-system file, really :-) Happy to see other wording suggestions that preserve the meaning :-)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to clarify the important point that a TFile will end up on your disk, as a regular file. I don't think your current wording gets that across: it talks about the content of a TFile.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ooooh "a file-system file" means "it's a file in your file system", not "it's a file the content of which logically works like a file system"?

"An on-disk file" then?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds great!

Copy link
Member

@bellenot bellenot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I trust you 😉

A ROOT file is a suite of consecutive data records (TKey instances) with
a well defined format.
If the key is located past the 32 bit file limit (> 2 GB) then some fields will
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This information is "essential" developer and advancer user information and belong in the repository (as it can and has evolved). There should be an explicit link or reference to where in the repository that information lives.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's referenced as \sa \ref rootio, see https://root.cern/doc/master/rootio.html

If it's not in there I will add it there; let me know where you want it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a bit obscure, especially when 'just' reading the source from vi. It probably should be clarified that the information is available/recorded(?) in ./io/doc/TFile and in particular tfile.md and tdirectory.md
( as a side note the 'format' in those file, both in the text version and the render version seems (to me) much harder to read than the one here (probably the missing/removed column delimiter)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as a side note the 'format' in those file, both in the text version and the render version seems (to me) much harder to read than the one here (probably the missing/removed column delimiter

Fine, but that shouldn't block this PR.

That's a bit obscure, especially when 'just' reading the source from vi.

Are you complaining about doxygen syntax being obscure, or you not knowing what's in these files? (Serious question.) Either way, my mission is to deconfuse users not necessarily Philippe, and this PR seems to be a step in the right direction ;-) There are several parts missing, e.g. TFile::Open instead of constructor etc - but that info wasn't there to begin with. So - what do we do?

Copy link
Member

@pcanal pcanal Jan 25, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine, but that shouldn't block this PR.

In my opinion it was essential. This documentation is not just for me but also essential for future maintainer and for external implementer of the format. It could not be removed if there was not a (readable) alternative available. Glad-fully that was resolved in a separate PR.

Are you complaining about doxygen syntax being obscure, or you not knowing what's in these files? (Serious question.)

I am just stating that (possibly due to my missing in-brain doxygen parser) given those strings, I can not find the text file that contains the information. So maybe we can add outside the view of doxygen the actual name of the file or directory that contains the information (to help with browsing the code through a text editor) [As this information is "essential" to the implementation/documentation of the code, one would expect it to be close to the code ... or at least easy to reach.]

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related to my last comment: doxygen/doxygen#9331

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When do they tag a release with that feature?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ROOT online-docs are created with a self-built version of doxygen. If I remember correctly, @couet has compiled doxygen versions from git-master that were not exactly at a specific doxygen release, so maybe he can just 'git pull' and recompile on the build machine.
The next stable release will be 1.9.5 probably in four or five months I guess.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I tested 1.9.5 on my machine first before updating the one on the build machine.
It seems stable I will soon update the build machine.
And yes, we are using the most recent version of doxygen.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done:

sftnight@root-ubuntu-2004-3:~/doxygen/build$ doxygen --version
1.9.5 (fdd8e8e750e1b8e58b4d9cc758293f532278dcca)

@Axel-Naumann Axel-Naumann changed the title [io] Remove non-user related doc from TFile class. [io] Remove non-user related doc from TFile class. [skip-ci] Jan 27, 2022
@eguiraud
Copy link
Contributor

Hi, gentle reminder that we need this patch to fix the repeated text at https://root.cern/doc/master/group__IO.html 😄

Copy link
Member

@pcanal pcanal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are still missing a more 'human' readable reminder that the detail of the file format are in io/doc/TFile

@ferdymercury
Copy link
Collaborator

I proposed this alternative: #14929
(So this one can be closed.)

dpiparo pushed a commit that referenced this pull request Apr 4, 2024
dpiparo pushed a commit to dpiparo/root that referenced this pull request Apr 4, 2024
dpiparo pushed a commit that referenced this pull request Apr 4, 2024
aandvalenzuela pushed a commit to cms-sw/root that referenced this pull request Apr 8, 2024
kristupaspranc pushed a commit to kristupaspranc/root that referenced this pull request Apr 10, 2024
lobis pushed a commit to lobis/root that referenced this pull request Apr 10, 2024
kristupaspranc pushed a commit to kristupaspranc/root that referenced this pull request May 21, 2024
silverweed pushed a commit to silverweed/root that referenced this pull request Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants