Repository: DDMAL/CantusDB

Issue:
All pages: wherever we currently use "manuscript", we should use "source"
Debra requested that, on all pages, we should use "source" instead of "manuscript" (particularly in pages' sidebars, but also elsewhere)

- [x] - Page titles: "Cantus Manuscript Database"
- [x] - Chant Create/Detail/Edit/etc. pages: "Manuscript Reading Full Text (standardized spelling)" and "Manuscript Reading Full Text (MS spelling)"
- [x] #1448
- [x] - Chant Search: Column header reads "MsFt", with a title attribute of "Manuscript Full Text". Easy enough to substitute "SFt" or "Ft", I guess?
- [x] - Full Index: "CANTUS Manuscript Inventory:"
- [x] - Source Detail: "Search {chants|melodies} in this manuscript" and "Analyse this manuscript (Cantus Analysis Tool)"
- [x] - Source Edit: "Full Manuscript Identification (City, Archive, Shelf-mark)", "Date of the manuscript (e.g. "1200s", "1300-1350", etc.)"


Discussion:
Also, many of our fields are named using "manuscript" instead of "source" (E.g. `manuscript_full_text`). Eventually we might want to change these to `source_full_text`, etc.
The title of basically every page is of the form "{something} | Cantus Manuscript Database". Guessing that we don't want to switch to "Cantus Source Database"...
Looking at this now, there are _lots_ of places where we use "manuscript" in user-facing places. Many of them are along the lines of "Manuscript Reading Full Text (standardized spelling)", which I was leaving as-is. Looking at others, I keep considering each one and sounding out in my head whether "source" would work just as well, and find myself thinking "manuscript" makes more sense.

As an example, here are some instructions on the Chant Edit page: `4) Edit the fields <b>according to the manuscript, following the fulltext guidelines created by Cantus</b>`. Would "source" really work here?

It might take an @annamorphism or a @JoyfulGen sitting down with a developer to check these one by one, rather than just trusting the developer to get this correct for all ~100 instances of "manuscript" in the code base.
Agreed. Do you have a list of all the places "manuscript" is used in the site? Or should I go hunting them?
Maybe we do just want "Source" in all these places, and we can get used to "Source reading Full Text (source spelling)" even though sounds a bit silly right now.  But if you have a few choice examples I can start a discussion. 
Searching the code base, there are about 400 instances of the string "manuscript" (case-insensitive), including about 100 in our templates. Most of the 100 are "Cantus Manuscript Database" in page titles: to an order of magnitude, there are 10<sup>1</sup> non-title instances. It might be nice to rename the ~300 instances in variable names, but this would be low priority, and can be done by a developer once we've addressed the user-facing instances.

We'll actually need to go through the non-template instances, because some of them specify help text that is publicly displayed. Almost all of the non-template instances are variable names, though.

Let me spend a few minutes looking through search results to identify some good examples.
These are the substantial uses of "Manuscript" in our templates - not exhaustive, but I think this covers all the various senses in which the word is used.

- Page titles: "Cantus Manuscript Database"
- Chant Create/Detail/Edit/etc. pages: "Manuscript Reading Full Text (standardized spelling)" and "Manuscript Reading Full Text (MS spelling)"
- Chant List: "Search chants in this manuscript" and "Analyse this manuscript (Cantus Analysis Tool)" - both of these would be easy to swap in "source" for "manuscript"
- Chant Search: Column header reads "MsFt", with a title attribute of "Manuscript Full Text". Easy enough to substitute "SFt" or "Ft", I guess?
- Full Index: "CANTUS Manuscript Inventory:"
- Source Detail: "Search {chants|melodies} in this manuscript" and "Analyse this manuscript (Cantus Analysis Tool)"
- Source Edit: "Full Manuscript Identification (City, Archive, Shelf-mark)", "Date of the manuscript (e.g. "1200s", "1300-1350", etc.)"
My feeling is to change it for the source detail and edit pages and the chant list page, but I'm less certain about full index or page titles (maybe a third thing that isn't "manuscript database" or "source database" needs to be invented), and not sure what to do about "MS spelling" in the chant create and Chant search situations. An email has been sent to get approval on these.
> An email has been sent to get approval on these.

@annamorphism has there been any confirmation or approval on these changes? 

In the meantime, I can go ahead and make the changes for the Chant List, Source Detail, and Source Edit pages if we are certain that they make sense. 
@lucasmarchd01 I think I never got a response to the email in question, now you mention it. I'll send it again! I think you can go ahead on the pages you mention in the meantime. 
Here is the reply, which I think addresses the remaining things:

In general: RH Side menu
“Search chants in the source”
“Search melodies in this source”
“Analyse this source (Cantus Analysis Tool)”

1. Chant List: "Search chants in this manuscript"and "Analyse this manuscript (Cantus
Analysis Tool)

USE "Search chants in this source" and "Analyse this source (Cantus Analysis Tool)"

2.Source Detail: "Search {chants|melodies} in this manuscript"; and "Analyse
this manuscript (Cantus Analysis Tool)" --these could also be "in this source". (Cantus Index
uses "source" in the tool itself, so we should match it).

YES!

3.
Source Edit: "Full Manuscript Identification (City, Archive, Shelf-mark)", "Date of
the manuscript"
USE: “Full Source Identification (City, Archive, Shelf-mark):*”

4.
Full Inventory: this is titled "CANTUS Manuscript Inventory" 

CHANGE TO: “Cantus Inventory”

5.
Page Titles (those little hovertexts on a tab)--these say "Cantus Manuscript Database";
"Cantus Source Database" sounds a bit strange.

USE: "Cantus Database”

6.
Chant Create/Detail/Edit/etc. pages: "Manuscript Reading Full Text (standardized
spelling)"; and "Manuscript Reading Full Text (MS spelling)"

USE: “Full Text as in Source (standardized spelling)”
USE: “Full Text as in Source (source spelling)”

7. Manuscript Full Text/MsFT column. 

USE: FT (for Full Text)

While you’re at it, change “Office/Mass” to “Service” in that same Chant Search table
heading. (We will find the others instances of “Office/Mass” and change those too.)
Great! I will go ahead and make the remaining changes.

Resolving patch:
diff --git a/django/cantusdb_project/main_app/forms.py b/django/cantusdb_project/main_app/forms.py
--- a/django/cantusdb_project/main_app/forms.py
+++ b/django/cantusdb_project/main_app/forms.py
@@ -681,7 +681,7 @@ class Meta:
     title = forms.CharField(
         required=True,
         widget=TextInputWidget,
-        help_text="Full Manuscript Identification (City, Archive, Shelf-mark)",
+        help_text="Full Source Identification (City, Archive, Shelf-mark)",
     )
     title.widget.attrs.update({"style": "width: 610px;"})
 
diff --git a/django/cantusdb_project/main_app/models/source.py b/django/cantusdb_project/main_app/models/source.py
--- a/django/cantusdb_project/main_app/models/source.py
+++ b/django/cantusdb_project/main_app/models/source.py
@@ -27,7 +27,7 @@ class Source(BaseModel):
 
     title = models.CharField(
         max_length=255,
-        help_text="Full Manuscript Identification (City, Archive, Shelf-mark)",
+        help_text="Full Source Identification (City, Archive, Shelf-mark)",
     )
     # the siglum field as implemented on the old Cantus is composed of both the RISM siglum and the shelfmark
     # it is a human-readable ID for a source
@@ -64,7 +64,7 @@ class Source(BaseModel):
         blank=True,
         null=True,
         max_length=63,
-        help_text='Date of the manuscript (e.g. "1200s", "1300-1350", etc.)',
+        help_text='Date of the source (e.g. "1200s", "1300-1350", etc.)',
     )
     century = models.ManyToManyField("Century", related_name="sources", blank=True)
     notation = models.ManyToManyField("Notation", related_name="sources", blank=True)


Test patch: