Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Proposed renaming scheme #19

Closed
rlrh opened this issue Feb 23, 2019 · 10 comments
Closed

RFC: Proposed renaming scheme #19

rlrh opened this issue Feb 23, 2019 · 10 comments
Assignees
Milestone

Comments

@rlrh
Copy link

rlrh commented Feb 23, 2019

Proposed renaming scheme

Since we are going to start morphing the AddressBook soon, we should settle on a renaming scheme so work can be split up more easily.
In our discussions, we used Link to replace Person, however I think a better name is needed to avoid confusion.
Therefore, I'm proposing the following scheme, which tries to use similar terms as the Atom feed specification, and also tries to avoid naming conflicts with any of the libraries we are going to use.
Do give feedback or suggest how we can make this scheme better!

Updates

25/2: move siteName into Link, change feedLink type to Set<Link>
24/2: change Entries to EntryBook

Model

Old New
(interface) ReadOnlyAddressBook (interface) ReadOnlyEntryBook
AddressBook EntryBook
VersionedAddressBook VersionedEntryBook
UniquePersonList UniqueEntryList
Person Entry (currently “Link” as discussed)

Storage

Old New
(interface) AddressBookStorage (interface) EntryBookStorage
JsonAdaptedPerson JsonAdaptedEntry
JsonAddressBookStorage JsonEntryBookStorage
JsonSerializableAddressBook JsonSerializableEntryBook

UI

Old New
PersonCard EntryCard
PersonListPanel EntryListPanel

Entry class (replaces Person class)

Identity fields Data fields (all optional)
link : Link
- require non-null
- isSame check only on this field
title : Title
- from Crux, usually headline of news article or HTML <title> tag content
- or user-overridden
tags : Set
- carried over
(future) comment: Comment
- user comments on the entry, e.g. why user saved the link
(future) feedLinks: Set
- added by Feeds component
- used to filter entries by feeds
(future) estimatedReadingTimeMinutes: Integer
- estimated reading time from Crux
(future) description: String
- from Crux
- used if available, otherwise summary is generated
(future) heroImageLink : String
- from Crux
- url of hero image to be displayed in EntryCard
@rlrh rlrh added the help wanted Extra attention is needed label Feb 23, 2019
@rlrh rlrh added this to the v1.1 milestone Feb 23, 2019
@thomastanck
Copy link

How about AddressBook -> EntryCollection? Entries sounds more like what you would call a variable of type Entry[].

@rlrh
Copy link
Author

rlrh commented Feb 24, 2019

How about AddressBook -> EntryCollection? Entries sounds more like what you would call a variable of type Entry[].

I agree Entries is not ideal. However, using the word "collection" might confuse it with Java collections too...

@epicfailname
Copy link

feedLink should be a Set? Since a single link might have been present in multiple feeds

@epicfailname
Copy link

Should siteName be a property of Link instead?

@thomastanck
Copy link

feedLink should be a Set? Since a single link might have been present in multiple feeds

+1

Should siteName be a property of Link instead?

I think after the meeting it was decided that links refer to the actual URL while what we were calling link before is just Entry.

I don't think there's a strong need to make Link its own class, but if it was its own class, then we can probably move siteName into the Link class.

@rlrh
Copy link
Author

rlrh commented Feb 25, 2019

Should siteName be a property of Link instead?

Makes sense. Eventually the UI EntryCard will display either the actual link or the site name is available. If siteName is a property of Link, then there should be a method like String getFriendlyRepresentation() in future that returns the extracted site name is available or the domain part of the URL without www and http

@rlrh
Copy link
Author

rlrh commented Feb 25, 2019

feedLink should be a Set? Since a single link might have been present in multiple feeds

Oh yeah, didn't think of that, will update accordingly

@rlrh
Copy link
Author

rlrh commented Feb 25, 2019

Should we store the date an entry is added or is it unnecessary?

@thomastanck
Copy link

thomastanck commented Feb 25, 2019 via email

@thomastanck
Copy link

Moving this to v1.3 as this is low priority.

Bulk of the renames are complete. The remaining renames are to be done progressively as we touch the code.

@thomastanck thomastanck modified the milestones: v1.1, v1.3 Mar 5, 2019
@thomastanck thomastanck added priority.Medium Nice to have discussion and removed help wanted Extra attention is needed labels Mar 9, 2019
@thomastanck thomastanck changed the title Proposed renaming scheme RFC: Proposed renaming scheme Mar 9, 2019
@thomastanck thomastanck added the status.Ongoing The issue is currently being worked on. note: remove this label before closing an issue. label Mar 18, 2019
@epicfailname epicfailname modified the milestones: v1.3, v1.4 Apr 2, 2019
@thomastanck thomastanck removed the status.Ongoing The issue is currently being worked on. note: remove this label before closing an issue. label Apr 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants