programminghistorian / jekyll

Jekyll-based static site for The Programming Historian
http://programminghistorian.org
519 stars 229 forks source link

Bug Transforming Data for Reuse and Re-publication with XML and XSL #1876

Closed acrymble closed 2 years ago

acrymble commented 4 years ago

Transforming Data for Reuse and Re-publication with XML and XSL by M.H. Beals is no longer functional because of a Firefox security update that blocks XSL files from rendering.

The author has provided a work-around #1875 that involves overriding the security checks. This has to be turned on and off each time you want to use XSL. I have no expertise in this area so I cannot say if this is a safe solution.

I can confirm that the lesson is no longer useable without a fix. I have not yet had a chance to test the proposed fix.

HeidiMarieChamplin commented 4 years ago

34 easy fixes (maybe using a global replace) to solve ISSUE : Bug Transforming Data for Reuse and Re-publication with XML and XSL #1876

You need about 34 NECESSARY additions of space between " and /> in instances of "/> especially in VALUE-OF commands on the following web page (and in the related .xsl and .xml files) :

https://programminghistorian.org/en/lessons/transforming-xml-with-xsl#choosing-and-preparing-xml-data

in the following parts :

AT CREATING AND TESTING YOUR XSL FILE :

You may need 2 fixes : 2 additions of space between " and /> in instances of "/>

FIGURE 6 :

You may need 2 fixes : 2 additions of space between " and /> in instances of "/>

POPULATING YOUR OUTPUTS :

You may need 1 fix : 1 addition of space between " and /> in instance of "/>

PARENTS AND CHILDREN :

You may need 1 fix : 1 addition of space between " and /> in instance of "/>

FOR-EACH LOOPS :

You may need 2 fixes : 2 additions of space between " and /> in instances of "/>

ATTRIBUTES :

You may need 2 fixes : 2 additions of space between " and /> in instances of "/>

SORTING RESULTS :

You may need 1 fix
1 addition of space between " and /> in instance of "/>

FILTERING RESULTS :

You may need 2 fixes : 2 additions of space between " and /> in instances of "/>

PRIMARY SOURCE READER :

You may need 5 fixes : 4 additions of space between " and /> in instances of "/> 1 replacement of space with in line 9 after comma

EXERCISE A : You may need 1 fix : 1 addition of space between " and /> in instance of "/>

EXERCISE B : You may need 6 fixes : first part : 3 additions of space between " and /> in instances of "/> second part : 3 additions of space between " and /> in instances of "/>

EXERCISE C : You may need 2 fixes : 2 additions of space between " and /> in instances of "/>

EXERCISE D : You may need 2 fixes : 2 additions of space between " and /> in instances of "/>

EXERCISE E : You may need 5 fixes : 5 additions of space between " and /> in instances of "/>

acrymble commented 4 years ago

@HeidiMarieChamplin can you please cite a source for this? I'm looking at the O'Reilly XSLT books and neither have this space you mention. Space is not generally widely important in XML. If you can provide evidence for your claim that will help us. Otherwise we have to research it ourselves, and we don't have the capacity to do that.

acrymble commented 4 years ago

@svmelton @rivaquiroga I'm using this lesson in class so I've had a chance to look into the problem.

The issue is that an update to security protocols in web browsers means tasks readers are asked to do with their web browsers will no longer work and never will again.

The author has suggested a workaround that involves bypassing the security warnings. I don't recommend this because I think it's dangerous to ask people to do that if they don't understand the consequences. On that basis I recommend closing pull request #1875

There are 2 possible solutions:

  1. We can provide alternative instructions for the affected part that involve using Oxygen, very expensive and proprietary software, but the monopoly holder for XML work. I have provided this workaround for my students who have access via the university, but this is not an open access solution. I could implement this solution in English but not Spanish. I believe it warrants a retirement of the original.

  2. We can suggest an open source command line alternative using Saxon (http://saxon.sourceforge.net/). I have not been able to get this to work but that's because my command line skills are weak. I could not implement this. I believe this also warrants a retirement of the original.

The lesson still works in principle, but the direct steps do not. I would recommend attempting to keep it on the site.

rivaquiroga commented 4 years ago

The author has suggested a workaround that involves bypassing the security warnings. I don't recommend this because I think it's dangerous to ask people to do that if they don't understand the consequences. On that basis I recommend closing pull request #1875

I totally agree.

  1. We can provide alternative instructions for the affected part that involve using Oxygen, very expensive and proprietary software, but the monopoly holder for XML work. I have provided this workaround for my students who have access via the university, but this is not an open access solution. I could implement this solution in English but not Spanish. I believe it warrants a retirement of the original.

Offering a non open access solution doesn't seem right to me. The licence is almost two minumun wages here.

  1. We can suggest an open source command line alternative using Saxon (http://saxon.sourceforge.net/). I have not been able to get this to work but that's because my command line skills are weak. I could not implement this. I believe this also warrants a retirement of the original.

Can we use our bug assesment service for developing this command line alternative?

The lesson still works in principle, but the direct steps do not. I would recommend attempting to keep it on the site.

acrymble commented 4 years ago

@rivaquiroga any reported bug that affects a Spanish lesson is up to you as ME to initiate using the bug assessment service. The details of how to do that are on the wiki https://github.com/programminghistorian/jekyll/wiki/Bug-Assessment and @drjwbaker can explain the financial process.

You can also delegate this to someone else on your team to take care of.

svmelton commented 4 years ago

Hi all,

@mariechristineb has had a chance to take a look and has this assessment:

The author of the lesson submitted a pull request for changes to the original lesson. She suggests adding a paragraph explaining how to change the security settings in Firefox in order to be able to transform XSL files. 

This solution, if implemented, would consist in a minor change that does not require a DOI: « Pointing to solutions that will allow users of more recent operating systems [or, in this case, more recent software versions] to follow an older lesson. »

Are we comfortable with asking users to expose themselves to potential security flaws (given that there is a very clear warning in the lesson)?
If we are not comfortable with this idea, it would probably be necessary to rewrite the lesson in order to integrate explanations on the use of a standalone XSL transformer. Only a small portion of the lesson pertains to XSL transformation, so this kind of solution might not count as ‘major’ in the sense that it would not necessarily require of the entire lesson to be retested. But it would still require more important changes, in both the English original and the Spanish translation. 

Given that Firefox does still allow to change this setting, and it does not expose to an immediate threat, I suppose the warning might be sufficient.

Another issue could be Microsoft Edge, though when I tested this on a PC with a Win10 install, it automatically opened the file in Internet Explorer, so I suppose Edge will not be an issue. (I wasn’t aware that Win10 still had Internet Explorer installed for legacy purposes.)

Proposed steps:
- If there are no additional changes to make to the lesson, merge the pull request submitted by the author. (I would suggest adding another mention at the end of the lesson, after the exercises, to remind users to revert back to the default settings.)
- Notify the Spanish team of the changes and request a translation.

So, there's some question about whether we are comfortable with the security risk. I would err on the side of "no," but that does make the fix more complicated. Based on the conversation here, I think it makes sense to ask our bug assessment service if we can develop a command line alternative. Any thoughts?

rivaquiroga commented 3 years ago

Hi! I found a workaround using python/R + the command line.

You just need to open the terminal in the same folder where your files are and run a web server:

python3 -m http.server

Then, you can open the file using http://localhost:8000/SimplifiedSAP.xml in your favorite browser.

If you prefer to use R, you need to have the servr package installed. The steps are almost the same. Open the terminal in the same folder of your xml files and run in the command line:

Rscript -e "servr::httd()" -b

That will launch your default browser and show you the files in that folder. Then, you just click the file you want to view:

r-xml

anisa-hawes commented 3 years ago

Hello all. I've been looking at this Issue today, after an exchange with a researcher on Twitter:

Screenshot 2021-09-09 at 16 28 06

I think this might be the lesson she was having difficulties with.

I'm wondering if we are happy for the resolution @rivaquiroga has suggested (above) to be implemented? @spapastamkou you mentioned that a member of the FR team might be interested in devising a solution and could work on both the EN and ES versions. Is this still the case?

Perhaps someone on the @programminghistorian/portuguese-team could assist me by checking my reply options?:

Obrigado por sua resposta. É esta lição https://programminghistorian.org/en/lessons/transforming-xml-with-xsl https://programminghistorian.org/es/lecciones/transformacion-datos-xml-xsl? Estamos cientes do problema e nossa equipe está trabalhando em uma solução.

or, less specific but probably sufficient:

Obrigado por nos informar que você teve um problema com a lição. Nossa equipe analisará o problema e o manterá atualizado quando o resolvermos.

DanielAlvesLABDH commented 3 years ago

Hi @Anisa-ProgHist I agree with the first proposed answer, it's more complete and the Portuguese is clear and correct ;-)

anisa-hawes commented 3 years ago

Thank you, @DanielAlvesLABDH! I will reply to the researcher now, and make a note to be in touch with her again when we have solved this Issue.

matgille commented 3 years ago

If there is still a need of updating this lesson, I can start working on it, but I may have missed something...

As @acrymble mentioned, a good workaround would be to use the saxon transformation engine, that provides a CLI. There is one free/libre version, and this solution would allow to use xpath / xslt 2.0 functions. I'm using it regularly and I can try to explain how to use it. Should it be integrated to this lesson, or published apart ? Maybe @rivaquiroga's solution is the easiest, but it assumes (if I understand it correctly) that we are using XSLT as a mere formatting language: can we save the output file with this solution ?

We could also mention JEdit XML editor (but I've never used it). Marjorie Burghart has published a TEI addon, and there is a saxon addon too; I can ask her if she would accept to make a small tutorial about it, with two or three screenshots, that we could integrate to the lesson (or publish apart, again)?

Wouldn't we need to update the version of XSLT to be used ? I don't know who are or will be the audience for this lesson; if it's TEI users, I would recommend using xpath 2.0. Some tools (python lxml...) don't support XSLT 2.0 though.

But maybe it's not that important for the lesson, and we could say: some useful function only work with the version 2.0, and we recommand the user to have a look at the specs, now that they have some basis with XSLT, etc ?

I think some elements should be changed or discussed:

Matthias

anisa-hawes commented 3 years ago

Hello @matgille. Thank you! We would really appreciate your support with updating this lesson!

If it is agreed that the workaround @rivaquiroga suggests above is a good solution, we also have the option to add in an information box which could help us to clarify the steps and identify key troubleshooting methods. We could include the conversation threads you point to on Stack Overflow too, which will enable readers to develop their understanding and move forwards if they get stuck. What do you think?

Please let me know if I can help in any way.

matgille commented 3 years ago

Hi @anisa-hawes, thank you for your answer ! Yes, that is a good idea. The author of the post in SO seems to have enough authority to allow a link to his answer (I don't know if PH has any rule about that).

However, I think the solution should allow the user to produce output files, and I don't know if with http.server module it is possible. Maybe saving the result document ?

anisa-hawes commented 3 years ago

Thank you, @matgille.

I see... By linking to the Stack Overflow thread we open an extra risk of link rot, because the secondary links might break too... We could consider creating Perma.cc links to secondary pages (we've recently begun piloting this as part of our copyediting workflow). But perhaps what would be best of all, is if we could summarise the information and troubleshooting options ourselves and cite the source(s).

I'm not familiar with the technical details of this lesson, so I welcome your advice about which workaround we suggest, or whether we explain both options. If you are keen and familiar with the free/libre version of the saxon transformation engine then you could start with that?

We can speak with @rivaquiroga and @svmelton about generating new DOIs for the lesson if the changes are substantial (it sounds like they may be).

matgille commented 3 years ago

By linking to the Stack Overflow thread we open an extra risk of link rot, because the secondary links might break too... We could consider creating Perma.cc links to secondary pages (we've recently begun piloting this as part of our copyediting workflow). But perhaps what would be best of all, is if we could summarise the information and troubleshooting options ourselves and cite the source(s).

I hadn't think about that ! What does perma.cc do ? I agree with you, we can search for more sources on the matter, and summarise them along with the SO posts. I'll search in the O'Reilly books.

I'm not familiar with the technical details of this lesson, so I welcome your advice about which workaround we suggest, or whether we explain both options. If you are keen and familiar with the free/libre version of the saxon transformation engine then you could start with that?

Ok ! How should I do it ? Create a new branch, and work directly on the lesson's file ?

anisa-hawes commented 3 years ago

Perma.cc generates archived versions of web pages, with stable URLs. Using it is one of the ways we can improve the sustainability of our lessons.

But the other crucial way to increase the longevity of our lessons, is to encourage authors to write tutorials that list any software dependencies and focus on providing general, methodological overviews rather than software-specific instructions. Having said that, technologies (and in this case, browser security settings) are continually changing! So over time, lessons may need to be updated. Overall, our objective is to publish lessons that will be useful and sustainable technical resources long into the future, requiring minimal updates.

So, if we update this lesson, I think we should focus on explaining why the new workaround we are proposing is necessary, and which steps are needed for a reader to move forwards and complete the lesson. We can certainly include links to external resources or code snippets, but as far as possible we should try to offer a clearly defined, workable solution within the lesson itself. As discussed above, we want to find a solution which doesn't lead to security risk, or the need for readers to buy any new, licensed software.

Yes, if you navigate to the Code tab within Jekyll you will be able to create a new branch within gh-pages. I'd recommend naming it "Issue-1876", or "xml-xsl-update" to clearly reference this thread. Within your new branch, navigate to the directory "en", and the subdirectory "lessons". Inside, you will find lesson .md files in alphabetical order. Open the file named transforming-xml-with-xsl.md. From there, you will be able to edit the lesson file, and commit your changes to the newly created branch.

Let me know if you have questions!

matgille commented 3 years ago

Thanks for your answers @anisa-hawes ! I will start with saxon CLI.

But the other crucial way to increase the longevity of our lessons, is to encourage authors to write tutorials that list any software dependencies and focus on providing general, methodological overviews rather than software-specific instructions. Having said that, technologies (and in this case, browser security settings) are continually changing! So over time, lessons may need to be updated. Overall, our objective is to publish lessons that will be useful and sustainable technical resources long into the future, requiring minimal updates.

So, if we update this lesson, I think we should focus on explaining why the new workaround we are proposing is necessary, and which steps are needed for a reader to move forwards and complete the lesson. We can certainly include links to external resources or code snippets, but as far as possible we should try to offer a clearly defined, workable solution within the lesson itself. As discussed above, we want to find a solution which doesn't lead to security risk, or the need for readers to buy any new, licensed software.

Ok ! Maybe then we should not update the lesson, except for the xsl transformation : XSLT 1.0 is still in use and is not announced to be deprecated soon (but maybe someone will disagree?). As far as I can tell, there is no syntax difference between the two versions, just new functions, and some changes in functions (like in xsl:value-of), so a warning to the reader ("you'll find other useful xpath/xslt functions if you use version 2.0") could be enough ?

Yes, if you navigate to the Code tab within Jekyll you will be able to create a new branch within gh-pages. I'd recommend naming it "Issue-1876", or "xml-xsl-update" to clearly reference this thread. Within your new branch, navigate to the directory "en", and the subdirectory "lessons". Inside, you will find lesson .md files in alphabetical order. Open the file named transforming-xml-with-xsl.md. From there, you will be able to edit the lesson file, and commit your changes to the newly created branch.

Ok, perfect !

matgille commented 3 years ago

Hi ! This would be a first draft of the section on saxon command line interface. If anyone could take a screenshot of the java help message, I would appreciate it, my OS is located in french. I don't know how to use the command line with Windows and I don't know neither if these commands would work with this OS.

There is a problem with the saxonica webpage. I'm unable to access the website, and it's not the first time I face this problem. The sourceforge repo works and it's what I'm using here.

How can we manage the evolution of the saxon version, in the command line instructions for downloading saxon? I can remove them if it's too complex and just keep the first paragraph (Go to...saved the xml file).


Using Saxon Command Line Interface (CLI)

We assume you're using a linux (or unix) distribution and that you've read the lesson Introduction to bash.

Installing java

Saxon is a java based software. It needs java to be used. To install java, open a new terminal tab, and type:

sudo apt install default-jre

To check if java is correctly installed:

java

The java help should appear.

{% include figure.html filename="java_help_message.png" caption="Figure 3: Java help message" %}

Downloading and running saxon

Go to this link and download the last version of Saxon Home Edition (saxonHE), the free/libre version of the software. Unzip the file, and copy the file saxon$version.jar, where $version is the last version of the engine (at the moment of the writing, it's saxon-he-10.6.jar), into the directory where you've saved the xml file.

Another way to get Saxon HE is by downloading it through the terminal. Open a new terminal tab, navigate to the directory you've created for the exercise, and create a new directory named saxon:

mkdir saxon

And then, download the file:

wget https://sourceforge.net/projects/saxon/files/Saxon-HE/10/Java/SaxonHE10-6J.zip/download -O saxon/saxon.zip

You have downloaded a zip file into the directory saxon/, that you need to unzip:

unzip saxon/saxon.zip -d saxon/

If zip is not installed, you can do it with apt. The -d flag (or option) tells the machine the directory where we want the file to be deflated.

Once the zip archive is deflated, the file we need is saxon-he-10.6.jar; it is located in the directory saxon/. Copy it to the current directory (cp saxon/saxon-he-10.6.jar .). You can now run saxon, by typing:

java -jar saxon-he-10.6.jar

Don't forget to adapt the command to the last version you've dowloaded. Saxon help should appear:

{% include figure.html filename="saxon_help_message.png" caption="Figure 3: Saxon help message" %}

Transforming an xml file into a text file

Saxon is quite simple to use. For this lesson we just need to indicate the name of the output file (with the -o: flag):

java -jar saxon -o:output_file input_xml_file xsl_file

We now need to create a first xsl file to test our installation. In the same directory, create a new file named transform.xsl. Paste in this file the following lines:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="text"/>

    <xsl:template match="/">
        <xsl:apply-templates/>
    </xsl:template>

</xsl:stylesheet>

For this exercise we want the output file to be a text file. Let's tell saxon we want to produce an output file called output.txt:

java -jar saxon-he-10.6.jar -o:output.txt SimplifiedSAP.xml transform.xsl

And voilà ! If you type:

ls

You should see the file output.txt. The content of this file is not important yet, but now you know the command worked.


rivaquiroga commented 3 years ago

Hi everyone! There is something important to consider when maintaining (and writing) a lesson: Mac + Linux users only represent around 25% of our readers (18.3% + 7.1% this last month, to be precise). Any solution to the problem this lesson has must work on Windows. Or we can offer two solutions, depending on the OS the reader is using, but we must address Windows users. Also to consider: the difficulty level of this lesson is "Low". If we want to keep it that way we need make explicit every step needed to achieve what is intended and not assume any previous knowledge. If that is not possible, we will need to change the difficulty level.

matgille commented 3 years ago

Hi @rivaquiroga, thank you for your answers.

I don't have the knowledge and the OS to produce a tested tutorial for Windows users; we could also use JEdit to to the transformation, I don't know !

As for the difficulty of the lesson, if we use saxon with the terminal, we have to assume some previous knowledge; otherwise, we would repeat what's in other lessons (navigating through the file system for example), but maybe it's not a problem ? If we choose to use python's http.server or saxon, the difficulty should be changed, if I understand it correctly (level 1 means no previous knowledge?).

anisa-hawes commented 3 years ago

Thank you so much for your hard work on this, @matgille.

Thank you for raising the question of the lesson's difficulty, @rivaquiroga. I agree that it is very important that we don't create barriers to readers using Windows operating systems. And that for a lesson that we label suitable for Beginners difficulty: 1, we must avoid making any assumptions of understanding.

I have a sense that the proposal offered has become complicated, because new understandings are involved, which I feel might disorientate a novice learner. I'm also concerned that we need to be very careful to remember that this lesson is the original author's intellectual property. If substantial additions are made, I think we would need their explicit consent.

This Maintenance issue seems to be implicitly pre-empted by this initial sentence, in the Transformers section of the lesson:

Although Chrome and Safari’s security features make in-browser transformations difficult, some other internet browsers, such as (Internet Explorer and Firefox), include an XSL 1.0 transformer, which will provide all of the functionality that you will need for this tutorial.

At the time of writing, the author is observing at that Chrome and Safari’s security features already make it difficult to perform the actions described in the tutorial.

In the following section, titled Choosing and Preparing XML Data, the author provides the reader with the following instruction:

Using your chosen web browser, open SimplifiedSAP.xml and examine the file. You can do this using the standard ‘Open’ function of your browser’s tool bar, or by dragging-and-dropping the file from your desktop into the browser window.

If I understand correctly, this is the step which causes the problem. So, we want to provide a very simple alternative way to view the SimplifiedSAP.xml.

I would like to suggest, that instead of introducing a new software package and new sections, we follow the steps @rivaquiroga has suggested above. We just need to plot them out, one at a time. I shall have a go at this, but I will definitely need your support to review my work!

matgille commented 3 years ago

Thanks for you message @anisa-hawes. If you need anything, I can try to help.

I don't know if this could be a useful information, but there is no security issue and the transformation works fine with firefox ESR, which is the extended support release version of firefox, available for the three OS. It's the default version for my OS, I should have tried before. I suppose the security policy will change too in the next releases of firefox ESR, so it's probably a bad solution.

To me, @rivaquiroga's solution is fine, but again it assumes the users have R or python installed, and know how to navigate to a given directory: wouldn't it change the difficulty level too ? Please tell me if i'm misunderstood !

svmelton commented 3 years ago

Thank you, @matgille.

I see... By linking to the Stack Overflow thread we open an extra risk of link rot, because the secondary links might break too... We could consider creating Perma.cc links to secondary pages (we've recently begun piloting this as part of our copyediting workflow). But perhaps what would be best of all, is if we could summarise the information and troubleshooting options ourselves and cite the source(s).

I'm not familiar with the technical details of this lesson, so I welcome your advice about which workaround we suggest, or whether we explain both options. If you are keen and familiar with the free/libre version of the saxon transformation engine then you could start with that?

We can speak with @rivaquiroga and @svmelton about generating new DOIs for the lesson if the changes are substantial (it sounds like they may be).

Yes, I believe we'll need to generate a new DOI for this. We've actually never had to do this; I believe the process is just for the ME to contact Sussex and explain that we think the lesson has changed enough to warrant a new DOI.

anisa-hawes commented 2 years ago

Hello all,

Apologies for the hiatus in my work on this Issue. I have started some work in Branch 1876 but I’d appreciate your advice to complete it.

So far:

But I think that further adjustments may be required within the Choosing and Preparing XML Data section, particularly between paragraphs 145-150.

Some questions: Do you think we should include links to Wikipedia for R and Python? (para. 146) Do you think we should explain / point to instructions for how to install the server package? (para. 150) Do you think we should include a screenshot (perhaps the one Riva has added to her comment above?) Do you think we should clarify how to navigate to a given folder or directory using Command Prompt/Terminal before asking readers to run the commands? As I understand it, the .xml would currently be on the desktop (line 144).

Today, I’ve returned to the branch to adjust of the ‘difficulty’ of the lesson to 2 (medium) as suggested by @rivaquiroga and @matgille. I have also made a further amendment to paragraph 146 but I’m still uncertain about the balance of detail or depth of instruction needed here.

rivaquiroga commented 2 years ago

Mmm.. it is a difficult decision. Too much depth could be a digression from the main focus of the lesson and the original aim of the author. What do you think of putting all the possible workarounds (using Saxon, launching a web server with R or Python, etc.) as some kind of appendix at the end of the lesson? In the body of the lesson we can add a warning box explaining why that step is not possible to be completed with the original instructions, and pointing readers to the appendix where they will find different workarounds. This is probably a decision @svmelton should make.

svmelton commented 2 years ago

I like @rivaquiroga's suggestions of offering an appendix for possible workarounds. Of course, we'll need to be aware that adding those workarounds in will increase the possible maintenance, but I think that's probably just the cost of keeping the lesson up to date.

miguel-dm commented 2 years ago

Hello everyone. Nice to meet you. Few days ago I emailed @anisa-hawes, after finishing the lesson in question, sharing my way around the two noted issues. As Anisa pointed this open issue url, I'm here sharing a few screenshots with you, on how to overcome those.

  1. In previous comments, the "local server" was mentioned, and that is exactly what I did on Atom editor, through a package called atom-live-server. When clicked, a browser tab opens automatically and after clicking on the XML file SimplifiedSAP.xml, the issue is no longer a problem. Now we can Edit > Save on Atom and refresh the browser, and we can see the XSL effect.

  2. To get and create a CSV (comma separated value) file, I copied (select all > right click > copy) the webpage's content and pasted it in a new TXT file. Now, I can either open it with Excel from MS Office or Google Sheets, as demonstrated on the screenshots. As I'm writing this post, I tried to open with OppenOffice (OO) Calc and it also works. But with a little detail as explained here: step 3. In the Files of type: drop-down menu, choose Text CSV (.csv; .txt), which is in the section that begins with ODF Spreadsheet (*.ods) Otherwise, the OO Calc will just open the TXT file on the OO Writer.

Hope it helps as an accessible solution.

[01 screenshots browser issue]
![01_01_atom-live-server_package](https://user-images.githubusercontent.com/12372981/143424782-c77d0687-a010-4aa8-8cad-2be255fa7881.png) ![01_02_atom-live-server_turn_on](https://user-images.githubusercontent.com/12372981/143424783-dc513066-d57c-4b75-a1e5-7bebe35e45fd.png) ![01_03_brower_editor](https://user-images.githubusercontent.com/12372981/143424785-b471ae53-4af1-4f10-87c8-1d2d8dddf02a.png) ![01_04_brower_editor_xls_process](https://user-images.githubusercontent.com/12372981/143424787-b636ecc5-8051-4f24-86a1-7f65e8fde678.png)
[02 screenshots create a csv file]
![2_01_copy_paste_browser_content](https://user-images.githubusercontent.com/12372981/143424789-633f54fb-90ac-432b-9949-11bf17cb0d30.png) ![2_02_excel_data_from_text_or_csv](https://user-images.githubusercontent.com/12372981/143424791-6d909b92-3424-498f-bbce-7dfe449f6ece.png) ![2_03_excel_file_with_collected_data](https://user-images.githubusercontent.com/12372981/143424792-aefa9f0f-39bb-4b8c-b5da-03c84e34ef3d.png) ![2_04_google_sheets-file_import_popup](https://user-images.githubusercontent.com/12372981/143424794-c3576a54-ce28-496a-b3cb-a93c5ba779ac.png) ![2_05_google_sheets_file](https://user-images.githubusercontent.com/12372981/143424795-cc457bf0-a272-49e0-a7b1-32a638ae659b.png)
anisa-hawes commented 2 years ago

Welcome, @miguel-dm! Thank you for contributing 🙂

matgille commented 2 years ago

Thanks @miguel-dm for your contribution; the atom workaround could be a good solution too, but the second solution you provide seems too complex to me. I think it is better to use XSLT (or the transformation engine) to produce directly the output document (with xsl:output-document for instance).

I like @rivaquiroga 's solution too !

miguel-dm commented 2 years ago

Just confirmed on the Visual Studio Code similar steps for the first issue. Install Live Server extension, turn it on, select XML file.

screenshots
![2_01_visual_studio_code_extension](https://user-images.githubusercontent.com/12372981/143441573-f13cb28f-7a2b-4f24-88a3-b0b6fcfffc24.png) ![2_02_live_server](https://user-images.githubusercontent.com/12372981/143441577-f09fac2e-e7e9-4b61-b4e0-70567f7977be.png)

Hello @matgille . Yes, if that solves the second issue I agree that it is a better solution, and it is in sync with the lesson topic. I must say I'm a enthusiast on this fields — IT, DH.

rivaquiroga commented 2 years ago

The TEI lessons published in PH en español use VS Code, so it sounds like a great idea to propose the Live Server extension as a solution.

anisa-hawes commented 2 years ago

Update: I am co-assigning @nivaca. Nicolás will be collaborating with us to resolve the Issue, using Saxon as the XSLT processor.

matgille commented 2 years ago

Ok, let me know if I can be of any help !

Matthias

anisa-hawes commented 2 years ago

Thank you, @matgille!