Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Find another solution for editing the readme.md #1171

Closed
dartcafe opened this issue Mar 13, 2020 · 22 comments
Closed

Find another solution for editing the readme.md #1171

dartcafe opened this issue Mar 13, 2020 · 22 comments
Labels
enhancement New feature or request needs info

Comments

@dartcafe
Copy link

The current inplementation and display of the readme.md inside a folder has some confusing side effects.

Steps to reproduce

  • Don't have a Readme.md
  • click inside the "free space" above the file list
  • click anywhere outside the editor

What happened

grafik

Expected behaviour

grafik

  • Clicking in a "free space" of the file list should not open an editor.
  • No grown "white space"
  • No magically appeared file in my folder.

Some users got confused and complained about of the empty space and the fact, that an unknown and unwanted file appears in their folders.

Possible solution could be, to add a button for explicit adding/editing readme.md.

@szaimen
Copy link
Contributor

szaimen commented Mar 14, 2020

@dartcafe You could disable the readme.md feature completely...

@dartcafe
Copy link
Author

Ehm. OK. Any hint how to disable that?

@szaimen
Copy link
Contributor

szaimen commented Mar 14, 2020

#586 (comment)

@dartcafe
Copy link
Author

dartcafe commented Mar 14, 2020

Thanks. This helps for my use case. But I think on the other hand, this - especially for group folders - usefull feature should get an overwork, following the principle of least surprise.

@dacoex
Copy link

dacoex commented May 5, 2020

I agree with @dartcafe in
https://github.com/nextcloud/server/issues/19938#issuecomment-599097743

  1. The mistakenly creation of the Readme.md should not happen --> slows the interface down
  2. for some folders, this is very helpful

Solution would be to lock the creation or to use hidden files or have a per-folder configuration (maybe too complex).

Most simple solution:

  • the Readme.md should not be generated by the click
  • users would have to actively go to "plus symbol" --> "New Document" --> "Create Textdocument"
  • If they then name new new document or upload a new document with "Readme.md" the area above would display it.

--> As long as the area is auto-editing, this is problematic.
--> I assume this also is an accessibility issues.

==> maybe a global setting: "Do not auto-edit Workspaces description" could solve this?

@kobuki
Copy link

kobuki commented May 19, 2020

@dacoex I think the most elegant and easy to use solution would be adding a button like 'Edit description' or something like that, somewhere at the top. That would open the editor at the top and if the user click on a 'Save' button, it would automatically create a readme.md, remove the 'Save, Cancel' buttons and done.

@Nils160988
Copy link

Maybe, this can be done similar to deck >= 1.0, where there is this kind of toggle-button for the description of cards

@jespersh
Copy link

jespersh commented Aug 3, 2020

the Readme.md should not be generated by the click

I'd like to add that it should only be created if there's actually something to save. Empty README.md files becoming the new littering

@kobuki
Copy link

kobuki commented Oct 6, 2020

Is there any progress with this? I can still randomly create sneaky readme.md files by not paying my undivided, concentrated attention to where I click. To my dismay, the old readme.md app isn't working on NC19+ either. What a shame.

@skjnldsv
Copy link
Member

skjnldsv commented Nov 7, 2020

cc @jancborchardt @juliushaertl

@juliusknorr
Copy link
Member

Technically we won't be able to show an editing area without having the file created, since the text app requires a file id to be able to instantiate an editor. I agree with the first post that we should of course not expand the empty area if there is no text. On the matter of empty Readme.md files I have currently no good idea how that could be solved. cc @jancborchardt

@juliusknorr
Copy link
Member

Moving to the text app repo, since that is where the rich workspaces reside 😉

@juliusknorr juliusknorr transferred this issue from nextcloud/server Nov 12, 2020
@juliusknorr juliusknorr added enhancement New feature or request needs info labels Nov 13, 2020
@dartcafe
Copy link
Author

dartcafe commented Nov 13, 2020

My thoughts about this:

  • Do not use an editable area, this confuses many users.
  • Add a CTA which says "Add folder description" and let the user edit a new readme.md
  • If a readme.md exists,
    • show it's content in the current way (without useless whitespace)
    • and add a CTA which says "edit folder description"
  • Optionally remove empty readme.md, but this could be also surpringly to users.
  • Optionally let the user edit the readme in a modal.

The handling of readme.md is not very common for 'normal' users.

@lars-sh
Copy link

lars-sh commented Nov 14, 2020

I just created a Pull Request, which deletes the Readme.md file if its content should be set to an empty value and recreates a file if it does not exist, yet.

Warning: This Pull Request is not proven to work. It is a first try to help out on that problem. I knowing anything specific about Nextcloud development nor the Text app.

Does #1175 help to handle this problem?

@azul
Copy link
Contributor

azul commented Jan 5, 2022

I think people are clicking this by accident because:

  • the clickable area is too big
  • there is no change in the cursor - so it seems like an okay place to click to say dismiss a menu (in particular the create dropdown just above).

My understanding is that any click within the blue area will create the readme:
Bildschirmfoto von 2022-01-05 18-37-20

Only the area around the text with a height of 44 px should be clickable and it should also change the cursor to a pointer to indicate clicking it will have an effect.

There's a lot more that could be done here. Right now the first click will create the readme... but it takes another click to edit it. The second click has to be more precise than the first. Making this a single click operation would be more smooth - but is probably not trivial.

If we really want to delay the creation of the Readme.md until there is some content we could create an empty .Readme.md that stays hidden by default and only when the user starts editing rename it to Readme.md. But as i said - a smaller clickable area and an indication that clicking there will have an effect would already go a long way.

@jancborchardt
Copy link
Member

Agree with @azul’s proposals, small additions:

  • Instead of a pointer, the curser could be a text caret cursor: text to communicate that it will create text
  • The "single click flow" would indeed be very nice and smooth

@dartcafe
Copy link
Author

dartcafe commented Jan 6, 2022

The "single click flow" would indeed be very nice and smooth

Again, the feedback, I recieve is the total opposite: I have 6 of 9 users complaining exactly about that on a regular basis, although they learned this behavior.

That mostly seems to happen, if the browser is partly visible and overlapped by another application and a user clicks to the "empty" space to move the browser to the front.

Actually this behavior is not expected by users.

Edit: And what's more important, there should be no empty readme.md, if someone clicks there.

@kobuki
Copy link

kobuki commented Jan 6, 2022

As much as I like NC and appreciate the hard work of the developers and support team involved, as an end user, I would simply expect an edit sign/icon, like a pencil to actually edit something, like in any other web based application in existence. Allowing users to actually create files and thus taking up resources (even if not that much), annoying them with even more empty space and unavoidable objects on top of the file list, based on random clicks on the existing empty space of a web page is simply nuts. It doesn't even take basic web ergonomics to consideration.

@LouisSung
Copy link

LouisSung commented Apr 17, 2022

TL;DR

To disable readme creation, remove the ,on:{click:t.createNew} in your nextcloud/data/apps/text/js/text-file.js

Note: need NOT to restart/reconfig, unless extra cache mechanism like CDN is used

How

The bound click event to create an empty Readme.md is the @click="createNew" in src/views/RichWorkspace.vue#L25

<div v-if="showEmptyWorkspace" class="empty-workspace" @click="createNew">

which is then transpiled as on:{click:t.createNew}} in js/text-files.js

[t.showEmptyWorkspace?n("div",{staticClass:"empty-workspace",on:{click:t.createNew}}

automation script

use sed to remove onclick event

# cd 'apps/text/js'
if cat text-files.js | grep -q '{staticClass:"empty-workspace",on:{click:t.createNew}}'; then
  echo 'disable Readme.md auto creation'
  sed -i -r 's/\{staticClass:"empty-workspace",on:\{click:t\.createNew\}\}/{staticClass:"empty-workspace"}/' text-files.js
else
  echo '@click:"createNew" event NOT found, check nextcloud/text#1171'
fi

see also: #586
https://help.nextcloud.com/t/disable-the-readme-editor-in-folder-header/73590
https://www.reddit.com/r/NextCloud/comments/fq4q8m/disable_blank_readmemd_creation/

@juliusknorr
Copy link
Member

Let's close this as a duplicate of #3209 and #2803

@Oli72
Copy link

Oli72 commented Mar 28, 2024

LouisSung's workaround #1171 (comment) does not work for me in NC27 and NC28. createNew is not found.

@juliusknorr
Copy link
Member

juliusknorr commented Mar 28, 2024

We won't support any hotpatched javascript asset guides, they are likely to break any time, but these days you can just disable the rich workspace with a config flag https://github.com/nextcloud/text?tab=readme-ov-file#configuration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs info
Projects
None yet
Development

Successfully merging a pull request may close this issue.