Improving user-friendliness and extensibility

@dhimmel & @cameronblandford, I was talking with @tonyR-H & @garymcdowell today about out editathon yesterday and wanted to get your perspective on some issues:

The number of data fields we would like to have is growing (even without the recent bolus added in #20). As YAML files get longer they get harder and harder to read, and more and more overwhelming for people who might be coming into the project casually (ideally there might be a way of prioritizing or highlighting these?) It seems like putting a lot of explanation/documentation into them would negatively impact their readability as well
It is more difficult than anticipated for contributors to add information; most of the PRs have come from people already experienced with GitHub, and even some of the very dedicated/motivated people on this team have not contributed.
We will need a way to make our own child policies; current SHERPA/RoMEO policies do not accurately reflect peer review policy groups.

The features I think would be very useful:

A user-friendly form-like interface allowing users to view and change existing fields. Ideally this could also offer additional help text to describe what a field is, or a way to highlight certain fields to prioritize them. Detailed policies around certain topics would ideally be collapsible.
For each contribution, to know who made the change and when (of course, this is already nicely done with GitHub)
The ability to create different ways of viewing the data (which I think Cam's project already does)
Ideally a way for the less-technical among us to add new fields to all records, and create new child policies (and specify which journals belong to them)

I apologize that these issues were not more obvious earlier on! I would be really eager to hear your thoughts on how best to proceed. Would it be possible to create a way for users to input information through Cam's front end?
Thanks in advance....

Spitballing here: as far as I know Wordpress keeps a nice revision history, has an editor that will be comfortable/familiar to many users (even more so if the dashboard is simplified), and permits user roles to be customized. How terrible of an idea would it be to use custom fields to make a custom template for policy listings? Evidently this allows instructions to be offered on the edit page. Posts could be created via import from a csv....

@cameronblandford how far is the frontend away from a web-interface that displays the actual policy data? I think contributions will increase when the effect of the contribution is more visible (i.e. an actual webpage gets updated). Also hopefully a working website will bring in more viewers and hence potential contributors, as well as providing more convenient direct links to edit YAML policies.

A user-friendly form-like interface allowing users to view and change existing fields.

It seems like it should definitely be possible to convert between the YAML files and a WYSIWIG-style editor. Perhaps there's even a way for a bot to commit changes upon a use clicking save and opening a PR for us to review. The big question here is whether it's worth our limited development time. How much of the current lack of contributions is due to the difficulty of using GitHub versus the difficulty of learning how to contribute to a new thing. However, we make this, there will be some sort of learning curve.
We should make sure potential contributors know that they can open issues if they get stuck. For example, they could say "I want to add this URL to this journal", and we could make the pull request on their behalf. Heck they could even tweet that.

How terrible of an idea would it be to use custom fields to make a custom template for policy listings?

I don't know enough about wordpress to know whether it'd be feasible or not and what obstacles you may encounter with this approach. My two biggest concerns are that it would take considerable time to implement and would lead to less structured / clean data and contribution history. And after making those sacrifices, contributions may not increase. A good place to start if investigating other designs would be to find some existing projects that use a similar setup.

Ideally a way for the less-technical among us to add new fields to all records, and create new child policies (and specify which journals belong to them)

These are difficult technical problems... we have a workable solution for adding new fields and have not implemented a solution to adding new policies. I don't think the barriers to adding new fields are too high. New fields should be added only after considerable peer review and consensus among the maintainers. Adding new fields is big enough of a decision that it's OKAY that it requires a maintainer to edit the YAML schema and rebuild the existing YAML files. Without extreme care, you will start to get duplicate fields... really only a few people know the structure well enough to assess whether a new field should be added. We encourage anyone to suggest changes to the schema, but these changes should all be discussed and carefully considered.
I will continue to think about how we want to enable custom policies. We can discuss this in a separate issue.

Thanks @dhimmel - you make very good points about the benefits to high barriers to changing the underlying structure.
I've been playing around with scripts in Google Apps...
This sheet is connected to a form. When the form is submitted, it triggers a script that calls the Google Form API to generate a prefilled link for the response that has just been submitted to the form. (We can of course create these links for data that we enter directly into the sheet as well). The script also copies the contents of the log (minus OLD versions of the entries, by "Name") to the tab called "Latest Version."
We could get notified of new form submissions. If they look bad, we can manually delete the entry (or change the millennium on the time stamp), and copy the old row back into "Latest Version."
We can also create a very simple searchable/sortable table in Wordpress based off of "Latest Version," choosing which columns to display. This seems to take a few more minutes to update. You can see a very rough version of that by scrolling down here. I haven't yet played around with the urls and formatting and stuff to make the table prettier. And it could display some actual info in the form too.
Of course, I think @cameronblandford 's front end could probably do this better!
We would be collecting emails/contributor info for every edit. If there were some kind of dispute/question as to where a field came from, people would be able to find out where it originated by checking the full response log. We could probably also display a list of contributors without too much effort.
What do you think about this general approach?

What do you think about this general approach?

I think one question is whether the method can ensure high quality standardized information. It seems like the form can provide standardized information, i.e. you can provide predefined options and more complex dependencies. The lack of review before changes are deployed would be a worrying to me.
I'm not against alternative designs, but I don't have the time to contribute towards them... I am happy to continue maintaining and developing the current design. I won't be offended or mad if you choose to switch, so I'd suggest doing whatever you think is best. Perhaps prototype the form alternative a bit more.
There is also the question of how the forms versus YML files will hook into the frontend.

@jpolka the draft form looks nice. Once it's no longer a DRAFT, we can update the README of this repository to mention that it's not actively accepting policy updates and that interested contributors should use the Google form.

I just started migrating existing policy records into the Sheets/Forms database. You can edit and add records here! This should autoupdate, but you might need to refresh your browser window.
Note that there are fields to add a "Policy ID" and a "Parent Policy" that appear on a hidden form page.  These are currently not used as @tonyR-H evaluates what ontology to use moving forward. Here is the current version of the script that is triggered on form submit:
/**
  Use Form API to generate pre-filled form URLs
  Function to build URLs from https://stackoverflow.com/a/26395487/1677912 adapted here with following modifications:
  - Added functionality for GRID and CHECKBOXGRID item types
  - Sort sheet by timestamp so most recent is at the top
  - Copy de-duplicated entries (based on unique identifier) to another sheet
  - Remove excess information and format this sheet nicely for being published to the web

  This function assumes the following things:
  - The unique identifier for an entry is called "Journals covered by this policy"
  - The deduplicated values go into a sheet called "Latest version"

  Usage
  - If triggered on form submit, switch to "Only build URL for first row."
  - If rebuilding all URLs, switch to "Skip headers, then build URLs for each row in Sheet1."
 */
function transposeBuildUrls() {

  //Reverse the spreadsheet by timestamps so that latest addition is on top - recorded from macro
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A:A').activate();
  spreadsheet.getActiveSheet().sort(1, false);

  //Clear "Latest version"
  SpreadsheetApp.getActive().getSheetByName("Latest version").clearContents();

  // Use Form API to generate pre-filled form URLs; code from https://stackoverflow.com/a/26395487/1677912
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName("Form Responses 1");
  var data = ss.getDataRange().getValues();  // Data for pre-fill
  var headers = data[0];                     // Sheet headers == form titles (questions)

  var formUrl = ss.getFormUrl();             // Use form attached to sheet
  var form = FormApp.openByUrl(formUrl);
  var items = form.getItems();
  var urlCol = headers.indexOf("Prefilled URL");   // If there is a column labeled this way, we'll update it
  Logger.log(form.getItems())

  // USE TO REBUILD ALL URLS: Skip headers, then build URLs for each row in Sheet1.
//  for (var row = 1; row < data.length; row++ ) {

  // ONLY BUILD LATEST URL: Only build URL for first row.
    for (var row = 1; row < 2; row++ ) {
    Logger.log("Generating pre-filled URL from spreadsheet for row="+row);
    // build a response from spreadsheet info.
    var response = form.createResponse();
    for (var i=0; i<items.length; i++) {
      var ques = items[i].getTitle();           // Get text of question for item
      var quesCol = headers.indexOf(ques);      // Get col index that contains this question
      //OLD: var resp = ques ? data[row][quesCol] : "";
      var resp = ques ? data[row][quesCol] : "";
      var type = items[i].getType().toString();
      Logger.log("Question='"+ques+"', resp='"+resp+"' type:"+type);
      // Need to treat every type of answer as its specific type.
      switch (items[i].getType()) {
        case FormApp.ItemType.TEXT:
          var item = items[i].asTextItem();
          break;
        case FormApp.ItemType.PARAGRAPH_TEXT:
          item = items[i].asParagraphTextItem();
          break;
        case FormApp.ItemType.LIST:
          item = items[i].asListItem();
          break;
        case FormApp.ItemType.MULTIPLE_CHOICE:
          item = items[i].asMultipleChoiceItem();
          break;
        case FormApp.ItemType.CHECKBOX:
          item = items[i].asCheckboxItem();
          // In a form submission event, resp is an array, containing CSV strings. Join into 1 string.
          // In spreadsheet, just CSV string. Convert to array of separate choices, ready for createResponse().
          if (typeof resp !== 'string')
          resp = resp.join(',');      // Convert array to CSV
          resp = resp.split(/ *, */);   // Convert CSV to array
          break;
        case FormApp.ItemType.CHECKBOX_GRID:
          item = items[i].asCheckboxGridItem();
          Logger.log("This CheckBoxGrid is " + item.getRows().length + " rows long.");
          // Grid will need to take as resp an array as long as # of rows. Loop through the rows and get resp for each
          var itemrows = item.getRows();
          var gridresp = [];
          for (var j=0; j < item.getRows().length; j++) {
            ques = items[i].getTitle()+" ["+ itemrows[j]+"]"; //Title of the question includes both Item name and Row name.
            quesCol = headers.indexOf(String(ques));
            resp = ques ? data[row][quesCol] : null;
            Logger.log("Resp in row " + j+ " is " + resp + " and resp.indexOf(',') is " + resp.indexOf(','));

            if (resp=="") { //If resp is blank, set it to EMPTY ARRAY (not null as for grid), and write this to the gridresp array as is.
              resp=[]
              gridresp.push(resp);
            }
            else if (resp.indexOf(',')) {
              // Convert comma-separated string into array
              resp = resp.split(/ *, */);   // Convert CSV to array
              gridresp.push(resp);
            }
            else gridresp.push(String(resp)); //If resp is not blank AND doesn't contain a comma, convert to string, then write to gridresp array
          }
          resp = gridresp;
          Logger.log("Here is the response for this question: " +resp);
          break;
        case FormApp.ItemType.GRID:
          item = items[i].asGridItem();
          Logger.log("This Grid is " + item.getRows().length + " rows long.");
          // Grid will need to take as resp an array as long as # of rows. Loop through the rows and get resp for each
          var itemrows = item.getRows();
          var gridresp = [];
          for (var j=0; j < item.getRows().length; j++) {
            ques = items[i].getTitle()+" ["+ itemrows[j]+"]"; //Title of the question includes both Item name and Row name.
            quesCol = headers.indexOf(String(ques));
            resp = ques ? data[row][quesCol] : null;
            if (resp=="") { //If resp is blank, set it to null, and write this to the gridresp array as is.
              resp=null
              gridresp.push(resp);
            }
            else gridresp.push(String(resp)); //If resp is not blank, convert to string, then write to gridresp array
          }
          resp = gridresp;
          Logger.log(resp);
          break;

        case FormApp.ItemType.DATE:
          item = items[i].asDateItem();
          resp = new Date( resp );
          resp.setDate(resp.getDate()+1);
          break;
        case FormApp.ItemType.DATETIME:
          item = items[i].asDateTimeItem();
          resp = new Date( resp );
          break;
        default:
          item = null;  // Not handling DURATION, IMAGE, PAGE_BREAK, SCALE, SECTION_HEADER, TIME
          break;
      }
      // Add this answer to our pre-filled URL, if the item is not set to null (see types not handled) and response is not ''
      if (item != null && resp != '') {
        Logger.log("item is " +item);
        Logger.log("is this question required? " + item.isRequired());
        var respItem = item.createResponse(resp);
        response.withItemResponse(respItem);
      }
      // else if we have any other type of response, we'll skip it
      else Logger.log("Skipping i="+i+", question="+ques+" type:"+type);
    }
    // Generate the pre-filled URL for this row
    var editResponseUrl = response.toPrefilledUrl();
    // If there is a "Prefilled URL" column, update it
    if (urlCol >= 0) {
      var urlRange = sheet.getRange(row+1,urlCol+1).setValue(editResponseUrl);
    }
  }

 //Copy lastest version to "Latest version" sheet - modified from https://developers.google.com/apps-script/articles/removing_duplicates
 //The column to be compared is "Policy ID"
  var sheet2 = SpreadsheetApp.getActive().getSheetByName("Form Responses 1");
  var latestsheet = SpreadsheetApp.getActive().getSheetByName("Latest version");
  var data2 = sheet2.getDataRange().getValues();
  var newData = new Array();
  for(k in data2){
    Logger.log("The value of k is: "+ k);
    var row = data2[k];
    var duplicate = false;
    for(j in newData){
      if(row[headers.indexOf("Journals covered by this policy")] == newData[j][headers.indexOf("Journals covered by this policy")]){
        duplicate = true;
      }
    }
    if(!duplicate){
      newData.push(row);
    }
  }
  latestsheet.getRange(1, 1, newData.length, newData[0].length)
      .setValues(newData);

  // Make link prettier in latestsheet
  var data2 = latestsheet.getDataRange().getValues();  // Data for pre-fill
  var headers2 = data[0];                     // Sheet headers == form titles (questions)
  var urlCol2 = headers2.indexOf("Prefilled URL");   // what is the column # in new sheet that contains "Prefilled URL"
  for (var n=2; n<=latestsheet.getLastRow(); n++) {
      var oururl = latestsheet.getRange(n, urlCol2+1).getValue();
    latestsheet.getRange(n, urlCol2+1).setValue("=HYPERLINK(\""+oururl+"\" , \"Click here to edit\")");
  }

  //Remove excess columns from latestsheet
  var maxcol = latestsheet.getMaxColumns();
  for (var m=1; m<=maxcol; m++) {
      switch (latestsheet.getRange(1, m).getValue()) {
      case "Timestamp":
          latestsheet.getRange(1, m).setValue("Last update"); //rename the header
          break;
      case "Journals covered by this policy":
        break;
      case "Prefilled URL":
          latestsheet.getRange(1, m).setValue("Link to edit"); //rename the header
        break;
      default: //delete all other columns
        latestsheet.deleteColumn(m);
        m--; // decrement m so as to check every column
        maxcol--; // the # of columns has also decreased
        break;
    }
  }
  //format latestsheet
  latestsheet.setColumnWidth(2, 300); //set the column with journal names wide.
  latestsheet.getRange('1:1').setFontWeight("bold"); //Make header row  bold
  latestsheet.getRange(1,4).setValue("=HYPERLINK(\"https://docs.google.com/forms/d/e/1FAIpQLSf2VsvytNSGrYLwKmsdN3SYAIYSHo71A1-RppjlyIuLcIKepw/viewform?usp=sf_link\" , \"Can't find a journal? Click to add a new record\")")
  latestsheet.setColumnWidth(4, 400);
}


"Help" link leads to Github Pages 404

https://little.webby.press/help leads to a 404

I haven't created the docs yet because the UI is still in flux.

The documentation is now working. The link changed to /documentation/en because I plan to add localised docs in the future.


param : The term 'param' is not recognized as the name of a cmdlet, function, script file, or operable program.

param : The term 'param' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Users\Administrator\Documents\WinZbxAgntInstall.ps1:29 char:1

param([switch]$Elevated, [string]$ip, [switch]$force)

  + CategoryInfo          : ObjectNotFound: (param:String) [], CommandNotFoundException
  + FullyQualifiedErrorId : CommandNotFoundException

Test-Connection : Cannot validate argument on parameter 'ComputerName'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
At C:\Users\Administrator\Documents\WinZbxAgntInstall.ps1:75 char:26

if ((Test-Connection $proxyAddress -Quiet -Count 2 -Delay 2) -eq  ...

                     ~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

OS Name:                   Microsoft Windows Server 2016 Standard
OS Version:                10.0.14393 N/A Build 14393
PS C:\Users\Administrator\Documents>  $PSVersionTable
Name                           Value

PSVersion                      5.1.14393.2125
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.2125
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

Param was not the first command in script.


Configuration breaks with long header names

The most recent version breaks when provided with header names longer than 32 characters. For example, we are using Content-Security-Policy-Report-Only and serve will not start:
INFO: Discovered configuration in `serve.json`
ERROR: The configuration you provided is wrong:
should NOT be longer than 32 characters
{"limit":32}

No worries, thanks for taking a look!


IJCK #2 R2C2

p. 7, last lines “the 0-based index of the column” (twice) I do not understand this term and maybe some other readers also will not.
“A sequence of sequences describing the values” I do not understand this term and maybe some other readers also will not.

For the first, I'm just going to spell out "zero" and add an example:

the zero-based index of the column storing the volume information in the \yabox|values| array (i.e., 0 or 1)

And the second, perhaps this will be more clear?

a sequence of time-volume pairs describing the values of the volume at different times

OK, I think this is now addressed.


adding CPR NOTE

Docs Build status updates of commit 838a37e:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-PullRequestMergeConflict] Cannot sync git repo to specified state. Please make sure the pull request is mergeable.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 97b6ffd:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-PullRequestMergeConflict] Cannot sync git repo to specified state. Please make sure the pull request is mergeable.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 099c505:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-PullRequestMergeConflict] Cannot sync git repo to specified state. Please make sure the pull request is mergeable.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 1a987cb:
:warning: Validation status: warnings

File
Status
Preview URL
Details

dynamics-gp/installation/SecurityPlanning.md
:warning:Warning
View
Details

dynamics-gp/financials/receivables-management-part3-transaction-activity.md
:warning:Warning
View
Details

dynamics-gp/upgrade/installing-on-subsequent-computers.md
:warning:Warning
View
Details

dynamics-gp/distribution/sales-order-processing-part5-inquiries-reports.md
:warning:Warning
View
Details

dynamics-gp/web-components/prerequisite-software.md
:warning:Warning
View
Details

dynamics-gp/web-components/tenant-services-applications.md
:warning:Warning
View
Details

dynamics-gp/distribution/invoicing-glossary.md
:warning:Warning
View
Details

dynamics-gp/web-components/tenant-services-installation.md
:warning:Warning
View
Details

dynamics-gp/financials/receivables-management-part5-utilities-routines.md
:warning:Warning
View
Details

dynamics-gp/distribution/purchase-order-processing-part5-inquiries-reports.md
:warning:Warning
View
Details

dynamics-gp/web-components/connecting-to-the-web-client.md
:warning:Warning
View
Details

dynamics-gp/distribution/manufacturing-setup-part-1.md
:warning:Warning
View
Details

dynamics-gp/distribution/Invoicing.md
:warning:Warning
View
Details

dynamics-gp/financials/receivables-management-part2-transaction-entry.md
:warning:Warning
View
Details

dynamics-gp/web-components/working-with-the-web-client.md
:warning:Warning
View
Details

dynamics-gp/whats-new/introduction.md
:warning:Warning
View
Details

dynamics-gp/whats-new/version-2018.md
:warning:Warning
View
Details

dynamics-gp/installation/creating-an-installation-package.md
:warning:Warning
View
Details

dynamics-gp/upgrade/installation-package.md
:warning:Warning
View
Details

dynamics-gp/web-components/single-machine-upgrade.md
:warning:Warning
View
Details

dynamics-gp/web-components/scale-out-upgrade.md
:warning:Warning
View
Details

dynamics-gp/financials/receivables-management-part4-inquiries-reports.md
:warning:Warning
View
Details

dynamics-gp/financials/receivables-management.md
:warning:Warning
View
Details

dynamics-gp/upgrade/system-requirements.md
:warning:Warning
View
Details

dynamics-gp/upgrade/installing-on-first-computer.md
:warning:Warning
View
Details

dynamics-gp/installation/installing-on-subsequent-computers.md
:warning:Warning
View
Details

dynamics-gp/distribution/sales-order-processing-part6-utilities.md
:warning:Warning
View
Details

dynamics-gp/installation/media/KERB1.JPG
:white_check_mark:Succeeded
View

dynamics-gp/installation/media/KERB2.JPG
:white_check_mark:Succeeded
View

dynamics-gp/installation/media/KERB3.JPG
:white_check_mark:Succeeded
View

dynamics-gp/installation/media/KERB4.JPG
:white_check_mark:Succeeded
View

dynamics-gp/installation/media/KERB5.JPG
:white_check_mark:Succeeded
View

dynamics-gp/payroll/CAN18YETax.md
:white_check_mark:Succeeded
View

dynamics-gp/installation/SecurityPlanning.md

Line 887, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone-' is duplicated. Within an article, alt text must be unique.
Line 912, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone-' is duplicated. Within an article, alt text must be unique.
Line 924, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone-' is duplicated. Within an article, alt text must be unique.
Line 1646, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 1670, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 1699, Column 1: [Warning-duplicate-alt-text] Alt text 'Screenshot' is duplicated. Within an article, alt text must be unique.
Line 1716, Column 1: [Warning-duplicate-alt-text] Alt text 'Screenshot' is duplicated. Within an article, alt text must be unique.
Line 1742, Column 1: [Warning-duplicate-alt-text] Alt text 'Screenshot' is duplicated. Within an article, alt text must be unique.
Line 1768, Column 1: [Warning-duplicate-alt-text] Alt text 'Screenshot' is duplicated. Within an article, alt text must be unique.
Line 1854, Column 1: [Warning-duplicate-alt-text] Alt text 'Screenshot' is duplicated. Within an article, alt text must be unique.
Line 1915, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).

dynamics-gp/financials/receivables-management-part3-transaction-activity.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Receivables Management in Dynamics GP - Dynamics GP' is duplicated in: 'financials/receivables-management.md(2,8), financials/receivables-management-part2-transaction-entry.md(2,8), financials/receivables-management-part3-transaction-activity.md(2,8), financials/receivables-management-part4-inquiries-reports.md(2,8), financials/receivables-management-part5-utilities-routines.md(2,8)'. Titles must be unique within a docset.
Line 174, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 363, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 419, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 464, Column 5: [Warning-alt-text-missing] Missing alternate text for image 'media/1e7d912d783aeb7fb89d71205efe68a4.jpg'. Alt text is required for accessibility.
Line 502, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 584, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 823, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 831, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 951, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1039, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Managing receivables in Dynamics GP.' is duplicated in 'financials/receivables-management-part2-transaction-entry.md(3,14)', 'financials/receivables-management-part3-transaction-activity.md(3,14)', 'financials/receivables-management-part4-inquiries-reports.md(3,14)', 'financials/receivables-management-part5-utilities-routines.md(3,14)', 'financials/receivables-management.md(3,14)'.

dynamics-gp/upgrade/installing-on-subsequent-computers.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Client installation - Dynamics GP' is duplicated in: 'installation/installing-on-subsequent-computers.md(2,8), upgrade/installing-on-first-computer.md(2,8), upgrade/installing-on-subsequent-computers.md(2,8)'. Titles must be unique within a docset.
Line 66, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 67, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 68, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 92, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Get Dynamics GP on each user's computer and synchronize data with the server.' is duplicated in 'installation/installing-on-subsequent-computers.md(3,14)', 'upgrade/installing-on-subsequent-computers.md(3,14)'.

dynamics-gp/distribution/sales-order-processing-part5-inquiries-reports.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Sales order processing part 6 - Dynamics GP' is duplicated in: 'distribution/sales-order-processing-part5-inquiries-reports.md(2,8), distribution/sales-order-processing-part6-utilities.md(2,8)'. Titles must be unique within a docset.
Line 85, Column 5: [Warning-alt-text-missing] Missing alternate text for image 'media/SOage189.jpg'. Alt text is required for accessibility.
Line 140, Column 5: [Warning-alt-text-missing] Missing alternate text for image 'media/SOage191.jpg'. Alt text is required for accessibility.
Line 191, Column 5: [Warning-alt-text-missing] Missing alternate text for image 'media/SOage193.jpg'. Alt text is required for accessibility.
Line 221, Column 5: [Warning-alt-text-missing] Missing alternate text for image 'media/SOage195.jpg'. Alt text is required for accessibility.
Line 246, Column 5: [Warning-alt-text-missing] Missing alternate text for image 'media/SOage197.jpg'. Alt text is required for accessibility.
Line 272, Column 5: [Warning-alt-text-missing] Missing alternate text for image 'media/SOage199.jpg'. Alt text is required for accessibility.
Line 285, Column 5: [Warning-alt-text-missing] Missing alternate text for image 'media/SOage201.jpg'. Alt text is required for accessibility.

dynamics-gp/web-components/prerequisite-software.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'System requirements - Dynamics GP' is duplicated in: 'upgrade/system-requirements.md(2,8), web-components/prerequisite-software.md(2,8)'. Titles must be unique within a docset.
Line 56, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 62, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 66, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 102, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 108, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 112, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).

dynamics-gp/web-components/tenant-services-applications.md

Line 50, Column 1: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.
Line 85, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 139, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 173, Column 5: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.
Line 255, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 312, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 589, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 604, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 610, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 619, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 625, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 632, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 639, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 646, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.

dynamics-gp/distribution/invoicing-glossary.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Invoicing in Dynamics GP - Dynamics GP' is duplicated in: 'distribution/Invoicing.md(2,8), distribution/invoicing-glossary.md(2,8)'. Titles must be unique within a docset.
Line 19, Column 1: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Examine how the Invoicing module works in Microsoft Dynamics GP.' is duplicated in 'distribution/Invoicing.md(3,14)', 'distribution/invoicing-glossary.md(3,14)', 'distribution/invoicing-part-2.md(3,14)', 'distribution/invoicing-part-3.md(3,14)', 'distribution/invoicing-part-4.md(3,14)'.

dynamics-gp/web-components/tenant-services-installation.md

Line 281, Column 5: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.
Line 740, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 751, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 773, Column 1: [Warning-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.

dynamics-gp/financials/receivables-management-part5-utilities-routines.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Receivables Management in Dynamics GP - Dynamics GP' is duplicated in: 'financials/receivables-management.md(2,8), financials/receivables-management-part2-transaction-entry.md(2,8), financials/receivables-management-part3-transaction-activity.md(2,8), financials/receivables-management-part4-inquiries-reports.md(2,8), financials/receivables-management-part5-utilities-routines.md(2,8)'. Titles must be unique within a docset.
Line 39, Column 1: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.
Line 62, Column 1: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.
Line 250, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 336, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 571, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 728, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 877, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 932, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a social media post Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1132, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1253, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a social media post Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1411, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Managing receivables in Dynamics GP.' is duplicated in 'financials/receivables-management-part2-transaction-entry.md(3,14)', 'financials/receivables-management-part3-transaction-activity.md(3,14)', 'financials/receivables-management-part4-inquiries-reports.md(3,14)', 'financials/receivables-management-part5-utilities-routines.md(3,14)', 'financials/receivables-management.md(3,14)'.

dynamics-gp/distribution/purchase-order-processing-part5-inquiries-reports.md

Line 217, Column 1: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.
Line 235, Column 1: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.

dynamics-gp/web-components/connecting-to-the-web-client.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Working with Dynamics GP web client - Dynamics GP' is duplicated in: 'web-components/connecting-to-the-web-client.md(2,8), web-components/working-with-the-web-client.md(2,8)'. Titles must be unique within a docset.
Line 40, Column 5: [Warning-file-not-found] Invalid file link: 'https://ServerName:PortNumber/GP'.

dynamics-gp/distribution/manufacturing-setup-part-1.md

Line 95, Column 5: [Warning-duplicate-alt-text] Alt text 'Screenshot' is duplicated. Within an article, alt text must be unique.
Line 166, Column 1: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.
Line 189, Column 5: [Warning-duplicate-alt-text] Alt text 'Screenshot' is duplicated. Within an article, alt text must be unique.
Line 217, Column 5: [Warning-duplicate-alt-text] Alt text 'Screenshot' is duplicated. Within an article, alt text must be unique.
Line 409, Column 5: [Warning-file-not-found] Invalid file link: 'media/ad05a25ecf94b6674192d1e77f8455cb.jpg'.
Line 409, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 529, Column 1: [Warning-file-not-found] Invalid file link: 'media/11e4e8e3673094ecc02c4f9337ec81df.jpg'.
Line 529, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 635, Column 1: [Warning-file-not-found] Invalid file link: 'media/a52df266f547d8a3c9978f9e0100909c.jpg'.
Line 635, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 693, Column 1: [Warning-file-not-found] Invalid file link: 'media/a2ab0984c7944fade6bb1f40b1e9bb9b.jpg'.
Line 693, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 807, Column 1: [Warning-file-not-found] Invalid file link: 'media/66babca6de2ed03cfbc56271d6c2ba7d.jpg'.
Line 807, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 890, Column 1: [Warning-file-not-found] Invalid file link: 'media/55bf80301c52d087d8fdb675407688b5.jpg'.
Line 1054, Column 1: [Warning-file-not-found] Invalid file link: 'media/4be79d01041c43492eb6665335d94b86.jpg'.
Line 1054, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1184, Column 1: [Warning-file-not-found] Invalid file link: 'media/16d612c45442124e29db5c28d021dec0.jpg'.
Line 1184, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1457, Column 5: [Warning-file-not-found] Invalid file link: 'media/19a5e4ca7d736395d9c686c7fb3983f8.jpg'.
Line 1457, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 462, Column 2: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text, or remove any extra table cells that cause an extra column.

dynamics-gp/distribution/Invoicing.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Invoicing in Dynamics GP - Dynamics GP' is duplicated in: 'distribution/Invoicing.md(2,8), distribution/invoicing-glossary.md(2,8)'. Titles must be unique within a docset.
Line 94, Column 5: [Warning-duplicate-alt-text] Alt text 'Image' is duplicated. Within an article, alt text must be unique.
Line 185, Column 5: [Warning-file-not-found] Invalid file link: 'media/INVSM.jpg'.
Line 185, Column 5: [Warning-duplicate-alt-text] Alt text 'Image' is duplicated. Within an article, alt text must be unique.
Line 200, Column 5: [Warning-file-not-found] Invalid file link: 'media/INVISO.jpg'.
Line 200, Column 5: [Warning-duplicate-alt-text] Alt text 'Image' is duplicated. Within an article, alt text must be unique.
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Examine how the Invoicing module works in Microsoft Dynamics GP.' is duplicated in 'distribution/Invoicing.md(3,14)', 'distribution/invoicing-glossary.md(3,14)', 'distribution/invoicing-part-2.md(3,14)', 'distribution/invoicing-part-3.md(3,14)', 'distribution/invoicing-part-4.md(3,14)'.

dynamics-gp/financials/receivables-management-part2-transaction-entry.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Receivables Management in Dynamics GP - Dynamics GP' is duplicated in: 'financials/receivables-management.md(2,8), financials/receivables-management-part2-transaction-entry.md(2,8), financials/receivables-management-part3-transaction-activity.md(2,8), financials/receivables-management-part4-inquiries-reports.md(2,8), financials/receivables-management-part5-utilities-routines.md(2,8)'. Titles must be unique within a docset.
Line 251, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 619, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 656, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 769, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 808, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 823, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 934, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a social media post Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1025, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1167, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1405, Column 1: [Warning-alt-text-missing] Missing alternate text for image 'media/2708fcde1e1cb9bd548cfdd9065a531a.jpg'. Alt text is required for accessibility.
Line 1409, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1435, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a social media post Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1466, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1478, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a social media post Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1518, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a social media post Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1533, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Managing receivables in Dynamics GP.' is duplicated in 'financials/receivables-management-part2-transaction-entry.md(3,14)', 'financials/receivables-management-part3-transaction-activity.md(3,14)', 'financials/receivables-management-part4-inquiries-reports.md(3,14)', 'financials/receivables-management-part5-utilities-routines.md(3,14)', 'financials/receivables-management.md(3,14)'.

dynamics-gp/web-components/working-with-the-web-client.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Working with Dynamics GP web client - Dynamics GP' is duplicated in: 'web-components/connecting-to-the-web-client.md(2,8), web-components/working-with-the-web-client.md(2,8)'. Titles must be unique within a docset.

dynamics-gp/whats-new/introduction.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'What's new in Dynamics GP - Dynamics GP' is duplicated in: 'whats-new/introduction.md(2,8), whats-new/version-2018.md(2,8)'. Titles must be unique within a docset.

dynamics-gp/whats-new/version-2018.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'What's new in Dynamics GP - Dynamics GP' is duplicated in: 'whats-new/introduction.md(2,8), whats-new/version-2018.md(2,8)'. Titles must be unique within a docset.
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Learn about enhancements that were added to the product since the release of Dynamics GP 2016 R2. ' is duplicated in 'whats-new/version-2016-r2.md(3,14)', 'whats-new/version-2018.md(3,14)'.

dynamics-gp/installation/creating-an-installation-package.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Installation package - Dynamics GP' is duplicated in: 'installation/creating-an-installation-package.md(2,8), upgrade/installation-package.md(2,8)'. Titles must be unique within a docset.
Line 82, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 83, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 84, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.

dynamics-gp/upgrade/installation-package.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Installation package - Dynamics GP' is duplicated in: 'installation/creating-an-installation-package.md(2,8), upgrade/installation-package.md(2,8)'. Titles must be unique within a docset.
Line 82, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 83, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 84, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.

dynamics-gp/web-components/single-machine-upgrade.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Upgrade Dynamics GP web components - Dynamics GP' is duplicated in: 'web-components/scale-out-upgrade.md(2,8), web-components/single-machine-upgrade.md(2,8)'. Titles must be unique within a docset.

dynamics-gp/web-components/scale-out-upgrade.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Upgrade Dynamics GP web components - Dynamics GP' is duplicated in: 'web-components/scale-out-upgrade.md(2,8), web-components/single-machine-upgrade.md(2,8)'. Titles must be unique within a docset.

dynamics-gp/financials/receivables-management-part4-inquiries-reports.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Receivables Management in Dynamics GP - Dynamics GP' is duplicated in: 'financials/receivables-management.md(2,8), financials/receivables-management-part2-transaction-entry.md(2,8), financials/receivables-management-part3-transaction-activity.md(2,8), financials/receivables-management-part4-inquiries-reports.md(2,8), financials/receivables-management-part5-utilities-routines.md(2,8)'. Titles must be unique within a docset.
Line 164, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 217, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 230, Column 1: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Managing receivables in Dynamics GP.' is duplicated in 'financials/receivables-management-part2-transaction-entry.md(3,14)', 'financials/receivables-management-part3-transaction-activity.md(3,14)', 'financials/receivables-management-part4-inquiries-reports.md(3,14)', 'financials/receivables-management-part5-utilities-routines.md(3,14)', 'financials/receivables-management.md(3,14)'.

dynamics-gp/financials/receivables-management.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Receivables Management in Dynamics GP - Dynamics GP' is duplicated in: 'financials/receivables-management.md(2,8), financials/receivables-management-part2-transaction-entry.md(2,8), financials/receivables-management-part3-transaction-activity.md(2,8), financials/receivables-management-part4-inquiries-reports.md(2,8), financials/receivables-management-part5-utilities-routines.md(2,8)'. Titles must be unique within a docset.
Line 321, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 383, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 429, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 488, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 616, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 675, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 699, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 757, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 816, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 910, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 958, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 994, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1171, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1229, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1249, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1401, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1490, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1519, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1542, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1563, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 1636, Column 5: [Warning-duplicate-alt-text] Alt text 'A screenshot of a cell phone Description automatically generated' is duplicated. Within an article, alt text must be unique.
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Managing receivables in Dynamics GP.' is duplicated in 'financials/receivables-management-part2-transaction-entry.md(3,14)', 'financials/receivables-management-part3-transaction-activity.md(3,14)', 'financials/receivables-management-part4-inquiries-reports.md(3,14)', 'financials/receivables-management-part5-utilities-routines.md(3,14)', 'financials/receivables-management.md(3,14)'.

dynamics-gp/upgrade/system-requirements.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'System requirements - Dynamics GP' is duplicated in: 'upgrade/system-requirements.md(2,8), web-components/prerequisite-software.md(2,8)'. Titles must be unique within a docset.
Line 24, Column 124: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/dynamics/s-e/' will be broken in isolated environments. Replace with a relative link.
Line 52, Column 367: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/dynamics/s-e/' will be broken in isolated environments. Replace with a relative link.
Line 172, Column 112: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/dynamics/s-e/' will be broken in isolated environments. Replace with a relative link.

dynamics-gp/upgrade/installing-on-first-computer.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Client installation - Dynamics GP' is duplicated in: 'installation/installing-on-subsequent-computers.md(2,8), upgrade/installing-on-first-computer.md(2,8), upgrade/installing-on-subsequent-computers.md(2,8)'. Titles must be unique within a docset.
Line 74, Column 7: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 75, Column 7: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 76, Column 7: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.

dynamics-gp/installation/installing-on-subsequent-computers.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Client installation - Dynamics GP' is duplicated in: 'installation/installing-on-subsequent-computers.md(2,8), upgrade/installing-on-first-computer.md(2,8), upgrade/installing-on-subsequent-computers.md(2,8)'. Titles must be unique within a docset.
Line 51, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 52, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 53, Column 3: [Warning-duplicate-alt-text] Alt text 'component icon' is duplicated. Within an article, alt text must be unique.
Line 3, Column 14: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Get Dynamics GP on each user's computer and synchronize data with the server.' is duplicated in 'installation/installing-on-subsequent-computers.md(3,14)', 'upgrade/installing-on-subsequent-computers.md(3,14)'.

dynamics-gp/distribution/sales-order-processing-part6-utilities.md

Line 2, Column 8: [Warning-duplicate-titles] Title 'Sales order processing part 6 - Dynamics GP' is duplicated in: 'distribution/sales-order-processing-part5-inquiries-reports.md(2,8), distribution/sales-order-processing-part6-utilities.md(2,8)'. Titles must be unique within a docset.
Line 62, Column 5: [Warning-duplicate-alt-text] Alt text 'screenshot' is duplicated. Within an article, alt text must be unique.
Line 128, Column 5: [Warning-duplicate-alt-text] Alt text 'screenshot' is duplicated. Within an article, alt text must be unique.
Line 162, Column 5: [Warning-duplicate-alt-text] Alt text 'screenshot' is duplicated. Within an article, alt text must be unique.
Line 186, Column 5: [Warning-duplicate-alt-text] Alt text 'screenshot' is duplicated. Within an article, alt text must be unique.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Laravel 6.0

Thank you for the contribution @AnsellC. It's merged. Release will be published tomorrow.

Thank you @antonkomarev looking forward to it!

Laravel Ban v4.1 has been released.


Output full labels to add to WORKSPACE

Currently a fake label is created which assumes the workspace Cargo.toml
is at the root of the workspace, and that the Cargo.toml is in its own
package. Instead, actually derive the (hopefully) correct label.

Oh no! Windows failed


bug: Wrong default range style

Type: bug
Platform: all
Hi,
Range input should be customizable with Sass colors.
lib/.../_variables.scss gives us a $range-default-track-bg set to #ccc !default;
However, in /lib/.../_range.scss, at line 36 ("::-webkit-slider-thumb:before"), the default color is $dark.
Shouldn't it be $range-default-track-bg?
Otherwise, there isn't any simple solution to set it a default color...
Thanks.

Anybody, Ionic team?

It's probably just a design decision
http://codepen.io/mhartington/pen/eNQrxB
This has been in here since November 2013 so I don't really want to change it.
https://github.com/driftyco/ionic/commit/38153c5cd830f2d852940e56888b6a634a6d46b9#diff-98ae73e58d450773f66694ed0660fbf5R42

Hi @mhartington,
Thanks for your answer. It's okay if it's a design decision, however, isn't it strange to be able to customize almost all component colors (with established variables) but this one?
Adding a variable like $range-default-bg set to $dark would keep your default design and ease styling for developers, wouldn't it?
Regards

Here's what we have now.

And here's what we would have if we changed the variables to what you are suggesting.

Not really what we want. If you want to change the range color, we suggest that you use the classes. range-positive, range-calm, etc.

Okay, thank you anyway @mhartington!


Add rad2deg math operation

Works but some concerns:
-Your name for the template, Rad2Deg, is not a meaningful name. Use something more descriptive and formal like "Radians to Degrees"
-you used a primitive but you kept its name as "Conversion Factor". Please keep the name of the primitive as is and also remember that all letters for primitives are lowercase. please refer to the Graphbook rules document.
-your design itself can be improved. The "conversion factor" primitive is too close to the other composite and also the line going from the input to "element_wise_multiply" can be broken like the picture below.
Note that having a fully correct solution is not the only aim. we want to follow proper design principles and come up with a template.

@sauravpandey123 rad2deg is the name of the pytorch function. An alias has been added for that issue. I did that to keep it related to the pytorch functions which they are closely related to.

Okay, approved!


allow Umlaute / unicode in PDF metadata and PDF index encoding

By changing unicode=false to unicode=true in the hypersetup section of the wbh.tex template, Umlaute will be displayed correctly in PDF metadata and PDF index
https://github.com/wbh-community/pandoc-wbh-template/blob/3f76c29d4bd979923bcf386e026be6fca4fcc2ab/wbh.tex#L182

Already fixed with another solution: https://github.com/wbh-community/wbhdoc/commit/e1664d6d9bf44d2d712f16c92a502a8932629e9f

thanks for that, my test was wrong and i have to add your solution for the problem. now that will be work correctly!


Java Data Structures

We're looking for contributors to implement a custom LinkedList data structure in Java. LinkedLists are fundamental data structures used in various applications, and this issue provides an opportunity to practice Java programming while understanding how LinkedLists work internally.
Task:

Create a new Java class called CustomLinkedList.
Implement methods to add elements to the LinkedList (e.g., add, addFirst, addLast).
Implement methods to remove elements from the LinkedList (e.g., remove, removeFirst, removeLast).
Implement a method to display the contents of the LinkedList.
Include Javadoc comments to explain the purpose of each method and provide usage examples.

Testing:

Test your LinkedList implementation by adding, removing, and displaying elements.
Write test cases to ensure the correctness of your implementation.

Additional Notes:

LinkedLists are commonly used in computer science and are the basis for more complex data structures.
This contribution aligns with our goal of providing educational resources for Java learners.

Feel free to ask any questions or seek help if you encounter any challenges while working on this issue. We appreciate your contribution!

I would like to work on this issue

Go ahead @competitiveblood  make sure to follow the PR template in the README.md file before making the pull req

Hi, I am not sure why this issue was reopened but I would like to work on it if possible.

No, I have already issued a PR and it has been merged


Feature: Filterable Legend Widget

(documentation draft)
The filterable legend widget allows for model filtering control within a legend for a map canvas.
A sample configuration follows:
{
	"widgetType": "filterableLegendWidgetWithGraphic",
	"name": "My Filterable Legend Widget",
	"containerId": "htmlElementId",
	"sourceModelId": "myFilteringModel",
	"designatedCanvasName": "My Map",
	"allLabel": "All Selections",
	"graphicType": "none"
}

widgetType: A string. It must be "filterableLegendWidgetWithGraphic" for the default behaviour.
name: A string.
containerId: A string. The "id" of an HTML element on the page that this element should start rendering in reference to.
sourceModelId: A string. The "modelId" of the model that is providing documents to the filterable legend widget. This model should be a filter model. This will also be the source of documents for the state of the graphic to draw from, if the widget is specified to have a graphic.
designatedCanvasName: A string. This is the name of the corresponding canvas that this widget will be drawn on.
allLabel: A string. The name of the label that toggles all entries in the legend widget on or off.
graphicType: A string.

"none", for no graphic to appear beside the legend
"custom", where the user must override/extend the existing widget and define behaviour for drawing the graphic themselves

The function drawCustom must be implemented

"pie", which is not implemented at this time

If graphicType is not "none", then prepareGraphicData must be implemented.
Advanced: The filterable legend widget contains a property this.preloadCallback, which is available to receive a function reference to load in data before loading in other data/graphics.

Do we create a default container if a containerId is not provided?
Can you explain the flow and sourceModelId vs sourceCanvasName?
Is the graphicType referring to the new extra stuff that it is possible to attach beside the legend (like the graphing timeline?)

Do we create a default container if a containerId is not provided?
No. This behaviour is consistent with the other LegendWidgets that throw an error if containerId is not provided.
Can you explain [...] sourceModelId vs sourceCanvasName?
sourceModelId is the filter model that will allow the user to make selections on to filter things. sourceCanvasName is the name of the canvas that this legend widget will be associated with and will be receiving styles from.
Is the graphicType referring to the new extra stuff that it is possible to attach beside the legend (like the graphing timeline?)
Yes. There are only "none" or "custom" options, where custom will have to be provided by the user.
Can you explain the flow [...]?
The widget is created. The dispatcher setup events are performed as needed. The legend and graphic (if set to do so) are drawn. The legend and graphic will be redrawn/updated on various dispatch handlers pertaining to the original filter model sourceModelId and the canvas reporting its styles.
(Click the top right <-> to expand the diagram)
graph TD;
subgraph Widget Creation
  1[Widget is created, initial dispatcher setup] --> 2[Draw method];
  2[Draw method] --> 3[Draw legend];
  2[Draw method] -- if graphicType is not none --> 4[Draw graphic];
  4[Draw graphic] -- if graphicType is custom --> 5[Draw custom];
end
subgraph Dispatch Handlers
6[Model change available choices event] --> 3[Draw legend];
6[Model change available choices event] -- if graphicType is not none --> 4[Draw graphic];
7[Model change selection event] --> 11[Adjust selected items in legend];
8[Model change all selection event] --> 11[Adjust selected items in legend];
9[Model state updated event] --> 12[Source model updated];
12[Source model updated] -- if graphicType is not none --> 4[Draw graphic];
10[Canvas style report event] --> 3[Draw legend];
end


LoadError:   cannot load such file -- notification-handler

Describe the bug
The app does not start, the flle notifcation-handler is not found.
To Reproduce
Steps to reproduce the behavior:

install gem notifications_rails
start up the app or run a test or start a console

Expected behavior
To not have a load error.
Environment
Using

rvm 1.29.10,
notifications-rails 3.0.3,
ruby 2.6.6,
Rails 5.1.7

When downloading the gem from the git repo, I do not have that problem, all the (sub) gems are available in the root directory. I was going to go that way, but found a problem when trying to use notification-pusher-actionmailer. I cannot install that gem from the git repos, but from rubygems. And when trying to use it to deliver a notification I get this error:
NoMethodError: undefined method `new' for ActionMailer:Module
notifications-rails-9fba70498939/notification-pusher/lib/notification_pusher/delivery_method_configuration.rb

Update
This might be a regression. I tried the previous version of the gem (3.0.2), and the errors are no longer there. Quickly browsing at the diff, nothing stands out, only other gems updates... :thinking:
Another update
Actually, now that I worked a bit with 3.0.2 I see that there are many differences between it and and the latest version.

Hey, I'm sorry for getting to you this late. Unfortunately, I don't think I'll be able to debug this in the near future. It does look kind of odd. Feel free to have a go at this yourself.

Hey, I'm sorry for getting to you this late. Unfortunately, I don't think I'll be able to debug this in the near future. It does look kind of odd. Feel free to have a go at this yourself.

I have the exact same bug on Ubuntu 20.04, with rbenv install, and with 3.0.3.
By downgrading to 3.0.2 everything works fine again.
Tested with ruby 2.7.2 and ruby 3.0.0
No clue how to solve this

Hmm... have you tried with Rails 6? I'm thinking maybe it's a Rails issue because the tests are using Rails 6.

Having this too. The "hello world" of this gem seems to be broken unfortunately.

I ended up using https://github.com/excid3/noticed which seems to be better supported.


after using pyinstaller, from-root does not work

when using pyinstaller, from-root seems to be not able to find the .project_root
FileNotFoundError: No possible anchors found (.git, .project-root), cannot detect root folder. Initialize a git repository or create an empty ".project-root" file in the project root
PS C:\Users\xx.xx\Desktop\app> .\app.exe
WORKING IN: C:\Users\xx.xx\Desktop\app
Traceback (most recent call last):
  File "app.py", line 11, in <module>
  File "adapters\gui\gui_app.py", line 15, in run
  File "applicationconfiguration.py", line 14, in getBusinessObject
  File "business\credfilehelper.py", line 10, in createCredFileIfNotExists
  File "from_root\root.py", line 24, in from_root
  File "from_root\get_project_root.py", line 23, in get_project_root
FileNotFoundError: No possible anchors found (.git, .project-root), cannot detect root folder. Initialize a git repository or create an empty ".project-root" file in the project root
[2192] Failed to execute script 'app' due to unhandled exception!
PS C:\Users\xx.xx\Desktop\app> ls .\.project_root

    Verzeichnis: C:\Users\xx.xx\Desktop\app

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        23.05.2023     09:07             27 .project_root

this was from powershells command line, so even if the path should be correct, seems like its not
i added a print os.getcwd() just to be sure

This is what I get on MacOS:
(base) ekon@mb-pro issue % cat __main__.py
from from_root import from_root

print(from_root())

(base) ekon@mb-pro issue % ./__main__    # this is a pyinstalled __main__.py
Traceback (most recent call last):
  File "proj/__main__.py", line 3, in <module>
  File "from_root/root.py", line 24, in from_root
  File "from_root/get_project_root.py", line 23, in get_project_root
FileNotFoundError: No possible anchors found (.git, .project-root), cannot detect root folder. Initialize a git repository or create an empty ".project-root" file in the project root
[90869] Failed to execute script '__main__' due to unhandled exception!

(base) ekon@mb-pro issue % touch .project-root

(base) ekon@mb-pro issue % ./__main__
/Users/ekon/Desktop/issue


Msg: 906: There are no available SchemaRegionGroup RegionGroups currently

I upgrade to v1.0 and step by "Quick Start"
When I run "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN" in CLI,
I always got "Msg: 906: There are no available SchemaRegionGroup RegionGroups currently, please use "show cluster" or "show regions" to check the cluster status".
What should I do?

Please describe your upgrading process. It seems the upgrade operation may fail, which need to be confirmed by checking the log generated during upgrading.

For better convenience, you can contact me via VX, named MarcosZyk.

SchemaConsensusPort:50010 was under used by another process.
Kill pid & restart resolved the problem.
Thanks.


Plan budget for security audits for CDF projects

It would be ideal to have a budget set for security audits for CDF related projects.
e.g., https://coredns.io/2018/03/15/cure53-security-assessment/

There is an email thread that is tracking this activity.

Meeting with suggested provided setup from recommendation of CNCF. The meeting will help establish scope, timelines and budget.

ref: #6

Awaiting proposal from vendor

An initial estimate is $50k USD. Waiting on SOW and MSA for formal review with governing board for consideration

Requirement: First candidate will be Spinnaker


Cost calculator

I'm currently experimenting with Azure functions locally while I try and put a usercase forward to switching. It would be a great help if you could output/log the GB/s of execution. executions count, memory size etc,  so this could be used with the cost calculator.

@davidtme  this is a nice idea to add to the local dev tooling experience. We'll take it into consideration.

Closing this, as this is out of the scope of the Core Tools


Payment gateway[Bug]

Hello! I added a payment gateway in library/adpter/payment gateways,  after adding it I went to Fossbilling admin area to activate it. I clicked on configuration then clicked on payment gateways, a new blank tab opened http://....../admin/invoice/gateways. Since it remained blanked for more than 3 minutes without showing any payment gateway, I went back to cpanel - file manager to delete the new payment gateway I added. After deleting it, i clicked again on payment gateways in admin area, then i got this error message " ERROR
An exception has been thrown during the rendering of a template ("Payment gateway rave was not found")."

Please share the code of the adapter..

Please share the code of the adapter..

For which adapter?

For "rave" adapter you have uploaded

Also the correct path should be:
/src/libary/Payment/Adapter/

The thing is I cannot see other payment gateways now in admin area

Also the correct path should be: /src/libary/Payment/Adapter/

rave.zip

You can't use the WHCMS adapter and expect it to be working
<?php
* Rave by Flutterwave Payment Gateway Module
 *
 * This Payment Gateway module allows you to integrate Rave payment solutions with the
 * WHMCS platform.
 *
 * For more information, please refer to the online documentation.
 *
 * @author Oluwole Adebiyi<EMAIL_ADDRESS> *
 * @copyright Copyright (c) Oluwole Adebiyi 2017
 */

if (!defined("WHMCS")) {
    die("This file cannot be accessed directly");
}
?>

Delete the file you will need to develop the plugin your self. (Or hire somebody to do it)

You can't use the WHCMS adapter and expect it to be working
<?php
* Rave by Flutterwave Payment Gateway Module
 *
 * This Payment Gateway module allows you to integrate Rave payment solutions with the
 * WHMCS platform.
 *
 * For more information, please refer to the online documentation.
 *
 * @author Oluwole Adebiyi<EMAIL_ADDRESS> *
 * @copyright Copyright (c) Oluwole Adebiyi 2017
 */

if (!defined("WHMCS")) {
    die("This file cannot be accessed directly");
}
?>

Delete the file you will need to develop the plugin your self. (Or hire somebody to do it)

Alright thank you. Everything was supposed to get back to normal after removing it though

You can't use the WHCMS adapter and expect it to be working
<?php
* Rave by Flutterwave Payment Gateway Module
 *
 * This Payment Gateway module allows you to integrate Rave payment solutions with the
 * WHMCS platform.
 *
 * For more information, please refer to the online documentation.
 *
 * @author Oluwole Adebiyi<EMAIL_ADDRESS> *
 * @copyright Copyright (c) Oluwole Adebiyi 2017
 */

if (!defined("WHMCS")) {
    die("This file cannot be accessed directly");
}
?>

Delete the file you will need to develop the plugin your self. (Or hire somebody to do it)

Alright thank you. Everything was supposed to get back to normal after removing it though

You may need to remove it from the database. I believe the table is called payment_gateway


Sample 5 without managedResources: does not reach COMPLETED stage

Bug Report
Describe the Bug
Sample 5 without managedResources: does not reach COMPLETED stage
Expected Behavior
For the data transfer to reach the COMPLETED stage
Observed Behavior
A "not COMPLETED" message is logged twice in short time and then repeated every 5 seconds until the connector is shutdown. The file is transferred from Azure to AWS without problem.
DEBUG 2022-07-11T14:01:22.483225 TransferProcessManager: Process a568ad7a-20fa-4e5f-8146-ee100edeb176 is now REQUESTED
DEBUG 2022-07-11T14:01:27.301695 Process a568ad7a-20fa-4e5f-8146-ee100edeb176 is now IN_PROGRESS
INFO 2022-07-11T14:01:27.940973 Transfer process a568ad7a-20fa-4e5f-8146-ee100edeb176 not COMPLETED yet. The process will not advance to the COMPLETED state.
INFO 2022-07-11T14:01:28.248094 Transfer process a568ad7a-20fa-4e5f-8146-ee100edeb176 not COMPLETED yet. The process will not advance to the COMPLETED state.
INFO 2022-07-11T14:01:33.527879 Transfer process a568ad7a-20fa-4e5f-8146-ee100edeb176 not COMPLETED yet. The process will not advance to the COMPLETED state.
INFO 2022-07-11T14:01:38.930124 Transfer process a568ad7a-20fa-4e5f-8146-ee100edeb176 not COMPLETED yet. The process will not advance to the COMPLETED state.

Steps to Reproduce
See detailed description
Context Information
See detailed description
Detailed Description
I’m running sample 5 in a slightly different way as I have not full access to an AWS account. Without full access I cannot create a new bucket for each transfer as is done in the example5 instructions (with "managedResources": true). One of our customers has provided me access to an existing bucket and provided me with read/write access to that bucket.
I changed the API call to look like this (see also issue #1646 about credentials):
{
    "protocol": "ids-multipart",
    "assetId": "1",
    "contractId": "{{contract_agreement_id}}",
    "dataDestination": {
        "properties": {
            "type": "AmazonS3",
            "region": "eu-central-1",
            "bucketName": "poc-dsh-tno-edc-example5",
            "keyName": "document.txt",
            "accessKeyId": "***",
            "secretAccessKey": "***"
        },
        "type": "AmazonS3"
    },
    "transferType": {
        "contentType": "application/octet-stream",
        "isFinite": true
    },
    "managedResources": false,
    "connectorAddress": "{{url_provider_ids}}/api/v1/ids/data",
    "connectorId": "consumer"
}

The file is transferred without any problem, but the transfer process never reaches the completed state and floods the log by writing a "not COMPLETED" message every 5 seconds.

Solved by removing implementation(project(":extensions:aws:s3:s3-provision")) from the consumer build.gradle.kts


[FP]: Pre-Liquibase does not use any particular version of Liquibase.

Package URl
<EMAIL_ADDRESS>CPE
cpe:2.3:a:liquibase:liquibase:1.4.0:::::::*
CVE
CVE-2022-0839
ODC Integration
Maven plugin
ODC Version
8.4.2
Description
OSS Index does not show any dependencies. As far as I can tell the checker seems to take the dependency's version (1.4.0) and then assume (based on string match heuristics?) that the project is then using Liquibase in version 1.4.0. Or something?
I would like to understand the tool better, in particular figure which of the many analyzers has flagged the dependency as vulnerable. When looking at the output of the report it seems the flagging gets triggered solely from the name of the dependency (in maven terms: net.lbruun.springboot:preliquibase-spring-boot-starter) and some values from its POM file which just happens to string match with some values in a CVE. Is that true?
I'm the author of the flagged artifact.

approved


tikzit: init at 2.0-rc2

Motivation for this change
TikZit version 2 was officially announced yesterday and it was not already in nixpkgs.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Duplicate package of #48479 due to miscommunication

Closing as joined efforts with @iblech


Unable to set Alacritty as default terminal

Description
Editing terminal.json and adding:
{       "name": Alacritty",       "path": "alacritty.exe",       "arguments": "",       "icon": "" }
results in nothing as Files apparently rewrites the file anyway, even when setting terminal.json as read-only.
Steps To Reproduce
No response
Expected behavior
Edit terminal.json, whithout Files rewriting it even if it is marked as read-only, and Alacritty showing up as a selectable terminal and being able to set it as default.
Files Version
Versão: <IP_ADDRESS> OS Version: 10.0.19042.1586
Windows Version
Windows 10 20H2 19042.1586
Relevant Assets/Logs
debug_fulltrust.log
debug.log

There's a missing quote before Alaccrity

There's a missing quote before Alacritty:
{ "name": "Alacritty", "path": "alacritty.exe", "arguments": "", "icon": "" }

Strange, I remember putting those before as I tried many times, even restarting my pc, but thank you so much.


Remove outdated scripts/subpackages

Many of the scripts and subpackages (folders) are superseded by the methods in the refactored Survey class. Let's remove them after #204 is merged so that we keep a clean repo.

Hey @brandynlucca : I think after you finish the majority of #215 it would be a good time to do this. I suggest doing this together with #167, so that all the major disruptions are done at once.
I've created a branch from the current main that we can always come back to if we ever need to verify something. But at this point, I suspect the Matlab code is a better reference than the previous Python implementation.

This was addressed in PR #227 and can therefore be closed.