Non-core contributed modules

Blocks to have 'to top' and 'to bottom' buttons as well as current 'up one place' and 'down one place' buttons

Details

  • Type: Improvement Improvement
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 1.9
  • Fix Version/s: 1.9
  • Component/s: Patch: Blocktopbottom
  • Labels:
    None
  • Affected Branches:
    MOODLE_19_STABLE
  • Fixed Branches:
    MOODLE_19_STABLE

Description

After playing with layout of blocks for some time I realised it would be very useful if all blocks (except the top one (or two)) had a button which moved that block straight to the very top of that column. In a similar vein, all blocks but the bottom one (or two) could have a button which moved that block straight to the bottom. I have attached a sample image of what this might look like. Sadly I have no idea how to code such a change!

The top block need not have a 'to top' button and the 2nd one down need not have a 'to top' button as the 'up one place' button would do the same job. All of that is true for the bottom if you replace 'top' with 'bottom' in that sentence.

Activity

Hide
Paul Vaughan added a comment -

A sample image showing what the modification could look like, using graphics very similar to the default (to retain consistency of design).

Show
Paul Vaughan added a comment - A sample image showing what the modification could look like, using graphics very similar to the default (to retain consistency of design).
Hide
Anthony Borrow added a comment -

This zip file contains a top.gif, bottom.gif file for the /pix/t folder as well as a NON-FUNCTIONING patch of some of the initial work I have done to begin implementing this. I am saving it here only to document what I have done so far in case someone else wants to pickup on this work. Peace - Anthony

Show
Anthony Borrow added a comment - This zip file contains a top.gif, bottom.gif file for the /pix/t folder as well as a NON-FUNCTIONING patch of some of the initial work I have done to begin implementing this. I am saving it here only to document what I have done so far in case someone else wants to pickup on this work. Peace - Anthony
Hide
Anthony Borrow added a comment -

Here is a functional but not perfect patch. The top and bottom buttons show when AJAX is enabled on course pages. Otherwise, it should function OK. Give it a shot and let me know if there are any problems. The code is not the cleanest but it seemed to be functional.

Show
Anthony Borrow added a comment - Here is a functional but not perfect patch. The top and bottom buttons show when AJAX is enabled on course pages. Otherwise, it should function OK. Give it a shot and let me know if there are any problems. The code is not the cleanest but it seemed to be functional.
Hide
Anthony Borrow added a comment -

Comment - the MDL-15575.zip file contains the top.gif and bottom.gif files that get copied to the /pix/t folder. Then apply the patch. Let me know if there are any questions. Peace - Anthony

Show
Anthony Borrow added a comment - Comment - the MDL-15575.zip file contains the top.gif and bottom.gif files that get copied to the /pix/t folder. Then apply the patch. Let me know if there are any questions. Peace - Anthony
Hide
Anthony Borrow added a comment -

Adding this issue to usability component as well.

Show
Anthony Borrow added a comment - Adding this issue to usability component as well.
Hide
Anthony Borrow added a comment -

Paul - Now that there is a functional patch, you can advocate for this on the forums. Support on the forums and more important votes here in the tracker will help determine if this functionality might be incorporated in core or if it would best live in CONTRIB. Once we get some feedback from the users I think the other developers can look at the code and make a final determination. Peace - Anthony

Show
Anthony Borrow added a comment - Paul - Now that there is a functional patch, you can advocate for this on the forums. Support on the forums and more important votes here in the tracker will help determine if this functionality might be incorporated in core or if it would best live in CONTRIB. Once we get some feedback from the users I think the other developers can look at the code and make a final determination. Peace - Anthony
Hide
Anthony Borrow added a comment -

Martin - I've added you as a watcher to this issue which was initially assigned to nobody so I adopted it as a fun little project this summer. A short discussion is available at http://moodle.org/mod/forum/discuss.php?d=101071. My impression is that this would best be a patch and should not be in core as it would make the UI (at least visually) more complex for little benefit. Nevertheless, I think it is the type of patch that for those who want it it is good to have. I mentioned in the forums that I'll give folks some time to respond, but that I intend on moving the issue to CONTRIB and then resolving by adding the patch to CONTRIB patches unless you have other ideas or suggestions. Peace - Anthony

Show
Anthony Borrow added a comment - Martin - I've added you as a watcher to this issue which was initially assigned to nobody so I adopted it as a fun little project this summer. A short discussion is available at http://moodle.org/mod/forum/discuss.php?d=101071. My impression is that this would best be a patch and should not be in core as it would make the UI (at least visually) more complex for little benefit. Nevertheless, I think it is the type of patch that for those who want it it is good to have. I mentioned in the forums that I'll give folks some time to respond, but that I intend on moving the issue to CONTRIB and then resolving by adding the patch to CONTRIB patches unless you have other ideas or suggestions. Peace - Anthony
Hide
Paul Vaughan added a comment -

I've been using Moodle more and more recently, and the ability to reposition blocks is one thing which I find quite time consuming. Would it not be easier to tell a block which position you want it to be in once, with no more 'up', 'down' or even 'to top/bottom' clicks required?

The original idea was one which immediately sprang to mind, however there may be better options. I appreciate that the idea may have limited appeal and may make the blocks cluttered.

I like the way you can move an individual item anywhere else on the screen with just two clicks: one initiates the move process, and the 2nd (when the page has reloaded) puts the item back down. I would like to be able to do the same with blocks.

I'm now imagining a different system to the one I initially suggested. When in Edit mode, each block has a drop-down menu appear, with the block's position from the top listed in it. Changing a block's number moves that block to that position, and reorders the remaining blocks.

You could even include 1L, 2L, 3L, 1R, 2R, 3R to move the block's position top-to-bottom as well as left or right.

Please see the new screen-shot above for a (very rough) demonstration.

Show
Paul Vaughan added a comment - I've been using Moodle more and more recently, and the ability to reposition blocks is one thing which I find quite time consuming. Would it not be easier to tell a block which position you want it to be in once, with no more 'up', 'down' or even 'to top/bottom' clicks required? The original idea was one which immediately sprang to mind, however there may be better options. I appreciate that the idea may have limited appeal and may make the blocks cluttered. I like the way you can move an individual item anywhere else on the screen with just two clicks: one initiates the move process, and the 2nd (when the page has reloaded) puts the item back down. I would like to be able to do the same with blocks. I'm now imagining a different system to the one I initially suggested. When in Edit mode, each block has a drop-down menu appear, with the block's position from the top listed in it. Changing a block's number moves that block to that position, and reorders the remaining blocks. You could even include 1L, 2L, 3L, 1R, 2R, 3R to move the block's position top-to-bottom as well as left or right. Please see the new screen-shot above for a (very rough) demonstration.
Hide
Paul Vaughan added a comment -

This is how Blackboard moves items around, I am suggesting something similar with Moodle Blocks. It could replace left and right, up and down arrows, and superceedes my idea about 'to top' and 'to bottom' buttons.

Show
Paul Vaughan added a comment - This is how Blackboard moves items around, I am suggesting something similar with Moodle Blocks. It could replace left and right, up and down arrows, and superceedes my idea about 'to top' and 'to bottom' buttons.
Hide
Paul Vaughan added a comment -

Comments to go with the newly uploaded image #3:

Left pane: the 'before' shot.
Middle pane: drop the menu down and click on '1'
Right pane: the 'after' shot. Note the bottom option moved to the #1 position.

I hope that makes sense.

Show
Paul Vaughan added a comment - Comments to go with the newly uploaded image #3: Left pane: the 'before' shot. Middle pane: drop the menu down and click on '1' Right pane: the 'after' shot. Note the bottom option moved to the #1 position. I hope that makes sense.
Hide
Anthony Borrow added a comment -

Paul - My impression is that the top and bottom buttons were more "Moodle-like". Moodle has its own look, feel and way of being used and I am happy with that. It sounds like the functionality you are looking for is available with AJAX which then makes the blocks drag and drop. I would not be a fan of adding drop down boxes as I think it would complicate the user interface by giving the user one more thing that they did not write to interpret. What does 1 mean, what does R mean, etc. While it may seem minor, I look at such things like queries on a page. The more of them you have the slower it will be for the user to navigate the page. I personally think that the Moodle community is best served by keeping the user interface as simple as possible especially on an interpretive level. Another idea would be to treat the blocks like we do activities and remove all the up/down, left/right buttons for a simple move button and then provide a visual indicator for where to move the block. That would at least have the advantage of doing things consistently. However I suspect that the community at large would find such a change confusing and so I probably would not recommend it but I wanted to mention it since it was another way of achieving something similar to what you are looking for. I suspect AJAX will do what you are looking for. One last comment is that if one of these alternative ideas is desired, I think we may want to create a separate issue in the tracker and keep this one simply for the idea of a top and bottom button for blocks. It is helpful to keeping the issues focused on one particular issue so that code changes can be well documented. Peace - Anthony

Show
Anthony Borrow added a comment - Paul - My impression is that the top and bottom buttons were more "Moodle-like". Moodle has its own look, feel and way of being used and I am happy with that. It sounds like the functionality you are looking for is available with AJAX which then makes the blocks drag and drop. I would not be a fan of adding drop down boxes as I think it would complicate the user interface by giving the user one more thing that they did not write to interpret. What does 1 mean, what does R mean, etc. While it may seem minor, I look at such things like queries on a page. The more of them you have the slower it will be for the user to navigate the page. I personally think that the Moodle community is best served by keeping the user interface as simple as possible especially on an interpretive level. Another idea would be to treat the blocks like we do activities and remove all the up/down, left/right buttons for a simple move button and then provide a visual indicator for where to move the block. That would at least have the advantage of doing things consistently. However I suspect that the community at large would find such a change confusing and so I probably would not recommend it but I wanted to mention it since it was another way of achieving something similar to what you are looking for. I suspect AJAX will do what you are looking for. One last comment is that if one of these alternative ideas is desired, I think we may want to create a separate issue in the tracker and keep this one simply for the idea of a top and bottom button for blocks. It is helpful to keeping the issues focused on one particular issue so that code changes can be well documented. Peace - Anthony
Hide
Paul Vaughan added a comment -

Hi Anthony. I hope I didn't offend - certainly that was not my intention. I love the ability to be able to suggest ideas and improvements for and about Moodle on the Tracker and I hope that my suggestions have been taken as just that - suggestions - and not as criticisms.

Your idea about moving blocks in the same way as moving assignments is actually exactly what I should have suggested, however you make very good points about keeping the interface simple: consistency is the key. However! I think the two page-loads it would take to move a block to a precise location (in the same way as an activity is moved) would be better in terms of speed and database hits than moving (for example) one block right and then up three spaces, incurring four page-loads.

Regards,

Paul.

Show
Paul Vaughan added a comment - Hi Anthony. I hope I didn't offend - certainly that was not my intention. I love the ability to be able to suggest ideas and improvements for and about Moodle on the Tracker and I hope that my suggestions have been taken as just that - suggestions - and not as criticisms. Your idea about moving blocks in the same way as moving assignments is actually exactly what I should have suggested, however you make very good points about keeping the interface simple: consistency is the key. However! I think the two page-loads it would take to move a block to a precise location (in the same way as an activity is moved) would be better in terms of speed and database hits than moving (for example) one block right and then up three spaces, incurring four page-loads. Regards, Paul.
Hide
Anthony Borrow added a comment -

Paul - I'm pretty sure I messaged you and/or posted on the forum but thought it would be good to follow up here in case anyone else is reading. Your ideas are certainly welcome and I would hope that ultimate message you receive (at least from my posts) is share, share, share. All ideas are welcome. From my own experience, I know that some of my ideas are better than others but putting them out there is important even if only to serve as an example or to help clarify what the community does not want. I find the Moodle community great to work with and there is little need to worry about offending. What I was hoping to explain in my previous post was that rationale behind why I thought the numbering idea does not fit with the typical way that Moodle does things and with the Moodle user interface. Of course we can always make changes and improvements if they seem to be helpful for the community but my guess is that the change ultimately would be confusing for folks. I think AJAX is the best way to handle moving the blocks, we could have a patch that would allow top and bottom buttons and we could create an issue to develop the "activity moving" model for moving blocks but that should be a separate issue just so we don't get confused about what problem we are trying to solve. Thanks again for participating in the community and keep the ideas coming. Peace - Anthony

Show
Anthony Borrow added a comment - Paul - I'm pretty sure I messaged you and/or posted on the forum but thought it would be good to follow up here in case anyone else is reading. Your ideas are certainly welcome and I would hope that ultimate message you receive (at least from my posts) is share, share, share. All ideas are welcome. From my own experience, I know that some of my ideas are better than others but putting them out there is important even if only to serve as an example or to help clarify what the community does not want. I find the Moodle community great to work with and there is little need to worry about offending. What I was hoping to explain in my previous post was that rationale behind why I thought the numbering idea does not fit with the typical way that Moodle does things and with the Moodle user interface. Of course we can always make changes and improvements if they seem to be helpful for the community but my guess is that the change ultimately would be confusing for folks. I think AJAX is the best way to handle moving the blocks, we could have a patch that would allow top and bottom buttons and we could create an issue to develop the "activity moving" model for moving blocks but that should be a separate issue just so we don't get confused about what problem we are trying to solve. Thanks again for participating in the community and keep the ideas coming. Peace - Anthony
Hide
Anthony Borrow added a comment -

MD - Unless I hear otherwise, I'm going to go ahead and move this issue to add top and bottom buttons for moving blocks to CONTRIB as a patch. Peace - Anthony

Show
Anthony Borrow added a comment - MD - Unless I hear otherwise, I'm going to go ahead and move this issue to add top and bottom buttons for moving blocks to CONTRIB as a patch. Peace - Anthony
Hide
Anthony Borrow added a comment -

I've moved this to CONTRIB so that it can become a patch which I will happily maintain. Let me know if you have any questions. Peace - Anthony

Show
Anthony Borrow added a comment - I've moved this to CONTRIB so that it can become a patch which I will happily maintain. Let me know if you have any questions. Peace - Anthony
Hide
Anthony Borrow added a comment -

moving to Patch: Blocktopbottom component

Show
Anthony Borrow added a comment - moving to Patch: Blocktopbottom component
Hide
Anthony Borrow added a comment -

Paul - I am going to resolve this as fixed since there is a contributed patch that can be used to add this functionality for those who prefer it to AJAX. Feel free to let me know if you have further questions, comments, suggestions for this issue. At this time, I think it is best as a patch rather than adding the functionality to core. Peace - Anthony

Show
Anthony Borrow added a comment - Paul - I am going to resolve this as fixed since there is a contributed patch that can be used to add this functionality for those who prefer it to AJAX. Feel free to let me know if you have further questions, comments, suggestions for this issue. At this time, I think it is best as a patch rather than adding the functionality to core. Peace - Anthony
Hide
Anthony Borrow added a comment -

Closing all of my resolved issues. Peace - Anthony

Show
Anthony Borrow added a comment - Closing all of my resolved issues. Peace - Anthony

People

Vote (4)
Watch (5)

Dates

  • Created:
    Updated:
    Resolved: