text:
This is the home page for information about the projects Software Garden is involved with that relate to the One Laptop Per Child's XO computer. Right now that consists of one project, the SocialCalc project for the OLPC XO.
The goal of the SocialCalc project is to provide a very capable, simple spreadsheet which runs locally on your computer. The main engine is written in JavaScript and is available under Open Source licenses. Much of the code, being written in a common scripting language, should lend itself to examination, reuse, experimentation, modification, and extension.
Socialtext, Inc., is using the SocialCalc code as part of the spreadsheet component of its enterprise-level wiki and Social Networking software. For more information about that version of SocialCalc, and how it is being integrated into a wiki system with multiple distributed pages, access control, and more, please contact Socialtext. Their website is www.socialtext.com.
For the XO, this project is providing a very useful spreadsheet that meets many of the needs of the OLPC. Even in the current state it can be used in a teaching situation. It would be helpful to the OLPC project if XO owners would try out the program and help find any really bad bugs (such as incorrect computational results or data loss).
Functionality includes:
In this release, there is a simple UI for modifying the sheet with a formula bar and an editing button bar. There is a simple interface for accessing more of the functionality through tabs. There is support for operations such as fill right/down, setting cell borders, text color, background color, column width, copy/paste/move, insert/delete row/column, sort, etc.
There is a new 0.9.1 release available for SocialCalc developers.
You can use it with a normal browser to try it out here, but you can't save or load.
To execute it with a browser and see how it operates (with no save or load), go here.
To download a .zip file with all of the JavaScript and image components, download: http://www.peapodcast.com/sgi/olpc/socialcalcxo-0.9.1.zip
There is a 0.8.3g version available as a ".xo" file for the XO for running under Sugar.
This version includes much better graphing options, initially written by Nicholas Doiron, and is
the one most people intend to use on the OLPC.
For more information about that, and SocialCalc on the XO and Sugar in general, go to:
SEETA: SocialCalc on Sugar
Please report bugs to: email@example.com
Bugs and update information are often listed on the
SocialCalc OLPC News page, which has an
RSS feed.
Right now the only documentation is on the Help tab available when running the program. Please read it. There is a copy here online: "SocialCalc 0.8.1 Help Text."
A copy of the contents of the LICENSE.txt file from the release, with the specifics of the attribution requirements, is available online here.
The SocialCalc code is:
(c) Copyright 2009 Socialtext, Inc.
All Rights Reserved.
The software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
KIND, either express or implied. See the Licenses for the specific language governing rights and
limitations under the Licenses.
This code is early and surely has bugs.
The OLPC part of this project has been coordinated by Manusheel Gupta of OLPC
with guidance from Walter Bender and others of OLPC.
The Python code for the OLPC XO-1 was initially coded by Luke Closs of Socialtext, Inc.
The JavaScript SocialCalc code was initially coded by Dan Bricklin of Software Garden, Inc., for Socialtext, Inc.
Based in part on the SocialCalc 1.1.0 code written in Perl.
The SocialCalc 1.1.0 code was:
Portions (c) Copyright 2005, 2006, 2007 Software Garden, Inc.The Perl SocialCalc started as modifications to the wikiCalc(R) program, version 1.0.
All Rights Reserved.
Portions (c) Copyright 2007 Socialtext, Inc.
All Rights Reserved.


text:
Citation: Mace GM (2012) The Limits to Sustainability Science: Ecological Constraints or Endless Innovation? PLoS Biol 10(6): e1001343. https://doi.org/10.1371/journal.pbio.1001343
Published: June 19, 2012
Copyright: © 2012 Georgina M. Mace. This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
Competing interests: The authors have declared that no competing interests exist.
The United Nations Conference on Sustainable Development (Rio+20) takes place in Rio de Janeiro on 20–22 June 2012. Twenty years after the 1992 Earth Summit that led to the establishment of two major environmental conventions (the United Nations Framework Convention on Climate Change and the Convention on Biological Diversity), Rio+20 presents an opportunity for the leaders of the world's governments to re-examine their commitments to sustainable development. An Essay by Burger et al. [1] in this issue and a Perspective contributed in response by Matthews and Boltz [2] raise concerns that certainly should be considered in Rio. But it's almost certain they won't be.
Burger et al. [1] present the case that the macroecology of sustainability is woefully under-represented in sustainability science. Ecological principles must govern sustainability, yet sustainability science is largely concerned with social–environmental interactions and barely considers physical limits on resource use. Escalating rates of resource use per capita, along with an increasing human population and environmental change, must, they argue, lead to limits in the availability of energy and materials on which the world's continuing economic development depends. Matthews and Boltz do not contest the evidence presented by Burger et al., but they are more optimistic that human ingenuity and adaptability will both buy time and provide solutions that will allow human societies to overcome resource limitation and continue to grow. Specifically, they contend that, despite the geometric increase in both population and resource use, a societal transformation is under way based around flexible, green economies that are in turn based in dynamic, variable ecosystems. They further argue that environmental pessimism will have less traction in policy-making than providing positive and creative approaches to these awkward problems.
This discussion is not new. Two issues have continued to be debated over the 20 years since the first Rio Earth Summit. One concerns the concept of sustainability and what it means in practice. A common query that has no easy answer asks about the sustainability of what, for whom, where, and over what time scales? Endless rhetoric about sustainable consumption and sustainable development hardly ever confronts the reality that, in most cases, what is sustainable for one sector of human society at one time and place rarely has no impact on other resources, or on environmental processes separated in time and space. The second theme, now discussed for over 40 years, is about the limits to growth. Any sensible person will agree that growth cannot continue indefinitely in a finite world. Yet over recent decades, the evidence indicates continuing growth, often at close to exponential rates in both population and consumption. How is this possible? Are we borrowing from the future, are we using resources that are far from their limits, or are we adapting creatively through innovation and technologically driven efficiency and replacement? Or, are we actually failing to act responsibly given evidence that certain limits are dangerously close, or even are already transgressed? [3]
Burger et al. present the argument for macroecological limits based on three inter-related themes and the evidence behind them. First, they describe how the flow of resources from the environment to support human societies must conform to physical laws concerning matter and energy. Therefore, at any spatial scale, flows of energy and nutrients for production and growth must come from somewhere, and a positive balance in one context will be felt as a negative balance somewhere else. Since smaller human systems (e.g., in towns and villages) are embedded in larger environmental systems, these flows and fluxes eventually add up to the global scale, where the finite nature of the biosphere and earth system must ultimately set limits. In fact, for the systems and resources that Burger et al. examine, there is evidence that we may already be reaching these limits. In the case of what is clearly a well-managed salmon fishery, resource flows have significant impacts on other components of the ecosystems (e.g., reduced resources for predators or decomposers). In what is an apparently sustainable urban system, the environmental costs to the surrounding landscape or on ecosystems elsewhere are shown to be substantial. In showing how per capita consumption of many materials and resources is now declining, Burger et al. suggest that their data may be the first evidence that we are approaching limits for some resources such as phosphorous, arable land, and freshwater. Some of this decline may be due to efficiencies, redundancy, and technological replacement of resources by innovative human societies, as Matthews and Boltz describe, but they agree that, ultimately, global constraints exist.
There is no doubt that these are critical issues for the environmental sciences to address. The research questions are difficult to pin down because they are embedded in a complex nexus of issues where ecological and evolutionary sciences, natural resource management, poverty alleviation, equitable and sustainable growth, individual rights and responsibilities, and the governance of the environment all converge. The academic community is increasingly engaged in defining the agenda for new science that will be needed. For example, following the recent Planet under Pressure meeting held in London, scientists sent a declaration to the Rio+20 conference [4] stressing that society is taking substantial risks by delaying urgent and large-scale action for environmental sustainability, and calling for a new approach to research that is more integrative, international, and solutions-oriented. In a similar vein, the 2012 Royal Society report on People and the Planet [5] concludes that rapid and widespread changes in the human population, coupled with unprecedented levels of consumption, present profound challenges to human health and wellbeing with important implications for future life on our finite planet.
The difference between ecological pessimism in Burger et al. and technological optimism in Matthews and Boltz is only one of the many ways that the problem can be viewed. Often the focus needs to be on extremes, or on non-linearities and irreversibilities in environmental systems that do not sit easily in standard economic analysis [6]. For example, species and ecosystems may be affected more by increases in the frequency of climate extremes than by shifts in mean values of temperature and precipitation. At a societal level, average rates of growth and development, both within and between countries, hide enormous disparity between the very rich and the very poor. The number or proportion of people living in extreme poverty is the key concern for development, not the average level of development, which is often the statistic of choice for scientific assessment and national reporting. More affluent societies tend to be more unequal, and inequality is itself an indicator of low wellbeing [4]. Similarly, while changes to some environmental resources are reversible with good restorative management, for many more, changes produce outcomes that are hard to predict (e.g., species responses to climate change), incur long time lags to recovery (e.g., recovery of fisheries following over-harvesting), or allow recovery but to an altered state (e.g., freshwater lakes following recovery from eutrophication) [7]. Non-linearities are a particular problem for resource management, where flows of resources that contribute to production, and constitute one element of national accounting via gross domestic product, take no account of the condition of stocks or resources. However, when resources are close to being depleted or exhausted, prices rise, pressures may increase, and complete collapse of the resource becomes more likely [8]. In some other cases, such as the extinction of species or the loss of biomes and biodiversity, the loss is irreversible.
Sustainability science therefore needs much stronger connections with environmental sciences, including macroecology. Green economies, a major focus for Rio+20, similarly need to be embedded in ecological principles and not simply be focused on economic growth based on new, greener production systems. Hopefully, in another 20 years, we can celebrate successful outcomes from the emergence of this integrated science for the environment and people.
- 1. Burger J. R, Allen C. D, Brown J. H, Burnside W. R, Davidson A. D, et al. (2012) The macroecology of sustainability. PLoS Biol 10: e1001345.
- 2. Matthews J. H, Boltz F (2012) The shifting boundaries of sustainability science: are we doomed yet? PLoS Biol 10: e1001344.
- 3. Rockstrom J, Steffen W, Noone K, Persson A, Chapin F. S, et al. (2009) A safe operating space for humanity. Nature 461: 472–475.
- 4.
Planet under Pressure (29 March 2012) State of the Planet Declaration. Planet under pressure: new knowledge towards solutions. Available: http://www.planetunderpressure2012.net/pdf/state_of_planet_declaration.pdf. Accessed 14 May 2012.
- 5.
Royal Society (2012) People and the planet. The Royal Society Science Policy Centre.
- 6. Dasgupta P, Mäler K-G (2003) The economics of non-convex ecosystems: introduction. Environmental and Resource Economics 26: 499–525.
- 7. Arrow K, Bolin B, Costanza R, Dasgupta P, Folke C, et al. (2003) Economic growth, carrying capacity, and the environment. Science 268: 520–521.
- 8. Courchamp F, Angulo E, Rivalan P, Hall R. J, Signoret L, et al. (2006) Rarity value and species extinction: the anthropogenic allee effect. PLoS Biol 4: e415.

subset: commoncrawl


text:
Admin Menu Editor lets you manually edit the Dashboard menu. You can reorder the menus, show/hide specific items, change permissions, and more.
- Change menu titles, URLs, icons, CSS classes and so on.
- Organize menu items via drag & drop.
- Change menu permissions by setting the required capability or role.
- Move a menu item to a different submenu.
- Create custom menus that point to any part of the Dashboard or an external URL.
- Hide/show any menu or menu item. A hidden menu is invisible to all users, including administrators.
- Create login redirects and logout redirects.
The Pro version lets you set per-role menu permissions, hide a menu from everyone except a specific user, export your admin menu, drag items between menu levels, make menus open in a new window and more. Try online demo.
The plugin provides a few utility shortcodes. These are mainly intended to help with creating login/logout redirects, but you can also use them in posts and pages.
– URL of the WordPress dashboard (with a trailing slash).[ame-home-url]
– Site URL. Usually, this is the same as the URL in the "Site Address" field in Settings -> General.[ame-user-info field="..."]
– Information about the logged-in user. Parameters:field
– The part of user profile to display. Supported fields include:ID
, and so on.placeholder
– Optional. Text that will be shown if the visitor is not logged in.encoding
– Optional. How to encode or escape the output. This is useful if you want to use the shortcode in your own HTML or JS code. Supported values:auto
- If you delete any of the default menus they will reappear after saving. This is by design. To get rid of a menu for good, either hide it or change it's access permissions.
- In the free version, it's not possible to give a role access to a menu item that it couldn't see before. You can only restrict menu access further.
- In case of emergency, you can reset the menu configuration back to the default by going to http://example.com/wp-admin/?reset_admin_menu=1 (replace example.com with your site URL). You must be logged in as an Administrator to do this.
Normal installation
- Download the admin-menu-editor.zip file to your computer.
- Unzip the file.
- Upload the
directory to your/wp-content/plugins/
directory. - Activate the plugin through the 'Plugins' menu in WordPress.
That's it. You can access the the menu editor by going to Settings -> Menu Editor. The plugin will automatically load your current menu configuration the first time you run it.
WP MultiSite installation
If you have WordPress set up in Multisite ("Network") mode, you can also install Admin Menu Editor as a global plugin. This will enable you to edit the Dashboard menu for all sites and users at once.
- Download the admin-menu-editor.zip file to your computer.
- Unzip the file.
- Create a new directory named
in your site'swp-content
directory (unless it already exists). - Upload the
directory to/wp-content/mu-plugins/
. - Move
Plugins installed in the mu-plugins
directory are treated as "always on", so you don't need to explicitly activate the menu editor. Just go to Settings -> Menu Editor and start customizing your admin menu 🙂
* Instead of installing Admin Menu Editor in mu-plugins
, you can also install it normally and then activate it globally via "Network Activate". However, this will make the plugin visible to normal users when it is inactive (e.g. during upgrades).
* When Admin Menu Editor is installed in mu-plugins
or activated via "Network Activate", only the "super admin" user can access the menu editor page. Other users will see the customized Dashboard menu, but be unable to edit it.
Contributi e sviluppo
"Admin Menu Editor" è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.
Collaboratori"Admin Menu Editor" è stato tradotto in 16 lingue. Grazie ai traduttori per i loro contributi.
Traduci "Admin Menu Editor" nella tua lingua.
Ti interessa lo sviluppo?
Esplora il Codice segui il Repository SVN iscriviti al Log delle Modifiche. Puoi farlo tramite RSS con un lettore di feed.
Changelog (registro delle modifiche)
- Made menu editor toolbars "sticky". They will now stay below the admin bar when scrolling down, which can be useful when editing very long menus.
- Restored the "custom item" indicator for the "Modern" editor color scheme. Previously, it was not visible in the menu editor when using that color scheme.
- Fixed a missing nonce check when hiding the "Upgrade to Pro" panel.
- Migrated to Lodash 4.
- Tested with WP 6.5-alpha.
- Added a search box for menu icons.
- Added more Dashicons. Now the icon dropdown should include all currently existing Dashicons.
- Fixed a visual bug where the icon would become unreasonably narrow when no icon was selected.
- Tested with WP 6.3.2 and 6.4-beta4.
- Fixed a conflict that prevented users from changing the menu icon of the Wordfence plugin (and possibly some other plugins that use similar CSS).
- Fixed a crash if the plugin encounters a supposed "menu item" that has the wrong data type, like a boolean. This was likely caused by a bug in an unidentified plugin or theme that modified the menu list incorrectly.
- Fixed plugin visibility restrictions not being applied when editing plugin files via AJAX.
- Tested with WP 6.3.1 and WP 6.4-alpha.
- Fixed a minor plugin conflict with "WPFunnels" and "Email Marketing Automation – Mail Mint" that caused hidden menu items created by those plugins to become visible when AME was activated.
- Fixed a conflict with the "Fortress" plugin that could reportedly cause an infinite loop.
- Fixed a conflict with "Da Reactions" 4.0.3 that triggered PHP warnings like "Warning: Array to string conversion in …/includes/menu-item.php on line 54".
- Fixed a potential fatal error when removing the number that represents pending updates/comments/etc from a menu title.
- Fixed a minor conflict with Essential Grid 3.0.17 that caused tooltips in AME dialogs to appear underneath the dialogs.
- Fixed a few jQuery deprecation warnings in the knockout-sortable library.
- Switched TypeScript to strict mode.
- Fixed a minor conflict with the WPForms plugin where the hidden menu item "Dashboard -> Welcome to WPForms" became visible when Admin Menu Editor was installed.
- Fixed a conflict with Toolset Types 3.4.7 that prevented redirect settings from being saved.
- Fixed a PHP warning triggered when a menu item didn't have a URL or a required capability.
- Fixed a plugin visibility bug where, if none of the user's roles had custom access settings for a specific plugin or in general, AME would immediatly deny access instead of also checking user capabilities. This could theoretically happen if all the user's roles were new or if the user didn't have any roles (they might still have access due to directly granted capabilities).
- Prevent a potential fatal error if JSON-encoded module settings stored in the database have been corrupted and can't be decoded.
- Added some missing
files that could cause 404 errors for users looking at the developer console. - Lots of internal reorganization that likely won't have any visible effects in this version.
- Tested up to WP 6.2.
- Fixed a layout bug in the menu editor where the submenu column did not increase its height to align with the currently selected top level menu.
- Tested up to WP 6.1.
- Increased the minimum required PHP version to 5.6.
- Fixed a number of deprecation warnings related to PHP 8.
- Fixed a conflict with "Anti-Spam by CleanTalk" that could potentially cause a fatal error.
- Fixed a conflict with "Admin Theme – Musik" where the menu order settings in the other plugin would override the menu order configured in AME.
- Fixed missing padding in the "edit plugin details" panel (in the "Plugins" tab). Also updated the button layout to match the changed button layout of the "Quick Edit" panel introduced in WP 6.0.
- Fixed a visual issue where some form fields might briefly show up and then disappear if the settings page stylesheet(s) took a while to load.
- Removed dependency on the "icon16" CSS class.
- Added additional validation in escaping in multiple places.
- Fixed a number of issues related to the WordPress coding standard and the WordPress-VIP-Go coding standard.
- Fixed visual misalignment of menu property fields and accompanying dropdown buttons.
- Fixed inconsistent spacing aroud some radio buttons on the settings page.
- Introduced a limit to how many unique menu URLs can be remembered by the "highlight new menu items" feature. Previously, when this feature was enabled, the plugin would record each "seen" menu item, which could cause the associated database entry to grow endlessly. Now the plugin will remember up to 700 items per user.
- Tested with WordPress 6.0 (release candidate) and 6.1-alpha.
- Fixed the
shortcode not working in login redirects. It would always output "(No user)" instead of the actual user data. - Fixed a warning caused by a conflict with plugins and themes that call the "login_redirect" filter with only 1 parameter instead of the expected 3.
- Probably fixed a bug where menu items that use fully qualified URLs would lose their custom settings when the site URL changed (such as when migrating the site to a different domain).
- Fixed a minor conflict with the plugin "Google Analytics for WordPress by MonsterInsights" where the "Getting Started" menu item that is usually hidden would become visible when AME was activated.
- Fixed an edge case where the plugin would incorrectly show an "is this option enabled for everyone" checkbox in an indeterminate state when it was actually enabled for all roles but was not explicitly enabled (or disabled) for individual users.
- Fixed a bug where AME did not prefer submenu items when detecting the current menu item based on the current URL.
- Switched from
. The old jQuery JSON plugin appears to be unmaintained, and all modern browsers have supportedJSON.stringify()
for a long time. - Other minor fixes.
- Tested up to WP 6.0-beta1.
- Added a "Redirects" feature. You can create login redirects, logout redirects, and registration redirects. You can configure redirects for specific roles and users. You can also set up a default redirect that will apply to everyone who doesn't have a specific setting. Redirect URLs can contain shortcodes, but not all shortcodes will work in this context.
- Added a few utility shortcodes:
,[ame-user-info field="..."]
. These are mainly intended to be used to create dynamic redirects, but they will also work in posts and pages. - Slightly improved the appearance of settings page tabs on small screens and in narrow browser windows.
- Fixed a minor conflict where several hidden menu items created by "WP Grid Builder" would unexpectedly show up when AME is active.
- Fixed a conflict with "LoftLoader Pro", "WS Form", and probably a few other plugins that create new admin menu items that link to the theme customizer. Previously, it was impossible to hide or edit those menu items.
- Fixed a few jQuery deprecation warnings.
- Fixed an "Undefined array key" warning that could appear if another plugin created a user role that did not have a "capabilities" key.
- Fixed a minor BuddyBoss Platform compatibility issue where the menu editor would show a "BuddyBoss -> BuddyBoss" menu item that was not present in the actual admin menu. The item is created by BuddyBoss Platform, but it is apparently intended to be hidden.
- Refactored the menu editor and added limited support for editing three level menus. While the free version doesn't have the ability to actually render nested items in the admin menu, it should at least load a menu configuration that includes more than two levels without crashing. This will probably only matter if someone edits the settings in the database or copies a menu configuration from the Pro version.
- Fixed a bug where the plugin could incorrectly identify a separator as the current menu item.
- Fixed submenu box not expanding to align with the selected parent item.
- Fixed a PHP 5 compatibility issue where the "Prevent bbPress from resetting role capabilities" would trigger notices and not work correctly. This bug did not affect newer PHP versions such as PHP 7.
- Fixed a couple of icon and separator rendering bugs where the hover marker – that is, the colored vertical bar that appears next to the currently hovered menu item, introduced in WP 5.7 – could either show up in the wrong place or show up when it's not supposed to.
- Fixed a jQuery Migrate warning about isFunction() being deprecated.
- Fixed a conflict with the "PRO Theme" plugin where "PRO Theme" would expand the wrong top level admin menu if the current submenu item had been moved from one parent menu to another.
- Fixed PHP notice "Undefined offset: 0 in /wp-includes/capabilities.php on line 70" (various line numbers).
- Fixed a conflict with "Stripe For WooCommerce" 3.2.12 where the "Stripe Gateway" menu had a wrong URL because a hidden menu item was not removed.
- Fixed a browser warning about the "ws_nmh_pending_seen_urls" cookie not using the SameSite attribute.
- Fixed a conflict with WooFunnels where changing the WooFunnels menu icon would result in both of the icons – the original one and the new one – showing up at the same time. The new icon was also misaligned.
- Minor visual changes.
- Tested with WordPress 5.7 and 5.8-alpha.
- Added a "bbPress override" option that prevents bbPress from resetting all changes that are made to dynamic bbPress roles. Enabling this option allows you to edit bbPress roles with any role editing plugin.
- Fixed a conflict that caused some hidden Simple Calendars menu items to show up when Admin Menu Editor was activated.
- Fixed a bug where menu items that had special characters like "&" and "/" in the slug could stop working if they were moved to a different submenu or to the top level.
- Fixed a bug where changing the menu icon to an external image (like a URL pointing to a PNG file) could result in the old and the new icon being displayed at once, either side by side or one below the other. This only affected menu items that had an icon set in CSS by using a
pseudo-element. - Fixed many jQuery deprecation warnings.
- Fixed a bug where some menu settings would not loaded from the database when another plugin triggered a filter that caused the menu configuration to be loaded before AME loaded its modules.
- Fixed bug that could cause an obscure conflict with plugins that change the admin URL, like "WP Hide & Security Enhancer". When a user tried to open "Dashboard -> Home", the plugin could incorrectly apply the permisssions of a another menu item to the "Home" item. If the other menu item was configured to be inaccessible, the user would get an error message when logging in (they were still successfully logged in).
- Improved error reporting in situations where the plugin can't parse menu data.
- Fixed a conflict with Elementor 3.0.0-beta that caused the "Theme Builder" menu item to have the wrong URL.
- Minor performance optimization.
- Added an option to disable WPML support.
- Fixed a minor WP 5.5 compatibility issue where some of the boxes shown on the menu settings page were displayed incorrectly.
- Fixed a bug where hidden plugins were still visible under "Dashboard -> Updates" and were included in the number of updates shown in the admin menu, Toolbar and other places.
- Fixed a conflict with WP Job Manager where activating Admin Menu Editor made the hidden "Dashboard -> Setup" menu visible.
- Fixed a browser warning about cookies using "SameSite: None".
- Fixed a conflict with plugins that use a different, incompatible version of the jquery-cookie library. For example: Participants Database Field Group Tabs.
- Tested with WP 5.5-RC1 and 5.6-alpha.
- Fixed a conflict with Media Ace, Snax and "What's Your Reaction?" plugins where activating Admin Menu Editor would cause a number of previously hidden menu items become visible.
- Tested up to WP 5.4.
- Fixed another warning about get_magic_quotes_gpc() being deprecated in PHP 7.4. This instance was missed in the previous patch.
- Added a workaround for an issue with MailPoet 3 where some menu settings didn't work on MailPoet's admin pages.
- Added a workaround for an issue with Extended Widget Options where the "getting started" page that's added by that plugin showed up in the menu editor even though it was supposed to be hidden.
- Reduced the amount of space used by plugin visibility settings. This change will take effect the next time you save the settings.
- Extended the "compress menu configuration data" feature to use ZLIB compression in addition to menu data restructuring. This greatly decreases the amount of data stored in the database, but increases decompression overhead.
- Fixed a warning about get_magic_quotes_gpc() being deprecated in PHP 7.4.
- Fixed a conflict with plugins that use the "all_plugins" filter incorrectly.
- Updated the appearance of the settings page to match the admin CSS changes introduced in WordPress 5.3.
- Fixed inconsistent dialog title bar colours that could occur when another plugin loaded the default WP dialog styles.
- Fixed a bug where certain top level menus could stay permanently highlighted because some of their submenus were hidden via CSS/JS and unclickable.
- When there's an error loading the menu configuration (e.g. because it's in an incompatible format), the plugin will now display an admin notice instead of letting through an uncaught exception.
- Removed the link to Visual Admin Customizer from the plugin settings page.
- Tested up to WP 5.3.
- Fixed a minor conflict with Toolset Types.
- Fixed a conflict with the MailPoet plugin where it was not possible to change the plugin's menu icon.
- Fixed a bug where the plugin could misidentify certain core menus that have different URLs for different roles.
- Fixed a bug where the plugin could generate incorrect URLs for submenu items where the parent menu URL contained HTML entities like "&".
- Fixed an issue where certain vulnerability scanners showed a warning about one of the plugin files because it used the eval() function. This particular instance of eval() was not a security flaw, but it has been now been removed to prevent false positives.
- Fixed a bug where the plugin could show an incorrect error message when a menu item was hidden due to there being another hidden menu item with the same URL.
- Fixed a minor issue with field alignment in menu properties.
- The "Site Health" menu will no longer be highlighted as new because it's part of WordPress core.
- Added an option to automatically hide new plugins. It was already possible, but previously this option was tied to the "show all plugins" checkbox. Now there is a separate "New plugins" checkbox.
- Fixed a bug where trying to change the icon of the Jetpack menu caused a JavaScript error that prevented the icon selector from being displayed.
- Tested up to WP 5.2.
- Added the ability to edit more plugin details like author name, site URL and version number. Note that this feature only changes how plugins are displayed. It doesn't actually modify plugin files.
- Fixed a PHP deprecation notice: "strpos(): Non-string needles will be interpreted as strings in the future". Hopefully this time it's been fixed for good.
- Fixed a couple of HTML validation errors.
- Fixed an inefficiency where the plugin would reinitialise the media frame every time the user tried to select an image from the media library.
- Added a partial workaround for situations where menu icons that were more than 32 pixels wide would be displayed incorrectly.
- Tested up to WP 5.1.1.
- Fixed a bug introcuded in 1.8.6 that caused a PHP warning "strpos(): Empty needle".
- Fixed a PHP warning being thrown when the WPMU_PLUGIN_DIR constant is not a valid path or the full path cannot be determined.
- Fixed a rare PHP warning "parameter 1 to be array, null given in menu-editor-core.php on line 4254" that was most likely caused by an unidentified plugin conflict.
- Fixed a rare warning about a class being redefined.
- Updated a number of internal dependencies.
- Tested with WP 5.0.
- Fixed a bug where very long submenus wouldn't be scrollable if the current item was one that was moved to the current submenu from a different top level menu.
- Fixed an obscure bug where clicking on an item in the current submenu could cause the entire submenu to "jump" up or down.
- Fixed AME not highlighting the correct menu item when there was a space in any of the query parameter values.
- Fixed another bug where the plugin didn't highlight the correct item if it was the first item in a submenu and also a custom item.
- Added a "Documentation" link below the plugin description. For people concerned about the recent GDPR legislation, the documentation now includes a page explaining how the plugin processes personal data. Short version: It usually doesn't.
- Tested with WP 4.9.6.
- Added a couple of tutorial links to the settings page.
- Fixed a potential crash that was caused by a bug in the "WP Editor" plugin version 22.214.171.124.
- Fixed some obsolete callback syntax that was still using "&$this".
- Changed the order of some menu settings and added separators between groups of settings.
- Removed the "Screen Options" panel from AME tabs that didn't need it like "Plugins".
- Tested with WP 4.9.5.
- Fixed the PHP warning "count(): Parameter must be an array or an object that implements Countable in menu-editor-core.php".
- Fixed a bug that could cause some network admin menus to be highlighted in green as if they were new.
- Fixed a conflict with WP Courseware 4.1.2 where activating AME would cause many extra menu items to show up unexpectedly.
- Fixed a conflict with Ultra WordPress Admin 7.4 that made it impossible to hide plugins.
- Replaced the "this is a new item" icon with a different one.
- Tested with WP 4.9.4.
- Added a workaround for a buggy "defer_parsing_of_js" code snippet that some users have added to their functions.php. This snippet produces invalid HTML code, which used to break the menu editor.
- Fixed a PHP warning that appeared when using this plugin together with WooCommerce or YITH WooCommerce Gift Cards and running PHP 7.1.
- Minor performance improvements.
- Tested with WP 4.8.3 and 4.9.
- You can edit plugin names and descriptions through the "Plugins" tab. This only changes how plugins are displayed on the "Plugins" page. It doesn't affect plugin files on disk.
- Added an option to highlight new menu items. This feature is off by default. You can enable it in the "Settings" tab.
- Added an option to compress menu data that the plugin stores in the database.
- Added a compatibility workaround for the Divi Training plugin. The hidden menu items that it adds to the "Dashboard" menu should no longer show up when you activate AME.
- Added a workaround that improves compatibility with plugins that set their menu icons using CSS.
- Fixed an old bug where sorting menu items would put all separators at the top. Now they'll stay near their preceding menu item.
- Fixed incorrect shadows on custom screen options links.
- Fixed a couple of UI layout issues that were caused by bugs in other plugins.
- Fixed a rare issue where hiding the admin bar would leave behind empty space.
- When you use the "A-Z" button to sort top level menus, it also sorts submenu items. To avoid compatibility issues, the first item of each submenu stays in its original position.
- Automatically reset plugin access if the only allowed user no longer exists. This should cut down on the number of users who accidentally lock themselves out by setting "Who can access the plugin" to "Only the current user" and then later deleting that user account.
- Minor performance optimizations.
- Fixed a bug where closing the menu properties of a custom menu item could set "extra capability" to "read".
- Added a workaround for WooCommerce 2.6.8 to display the number of new orders in the "Orders" menu title.
- Minor cosmetic changes.
- Tested with WP 4.7 and 4.8-alpha.
- Added capability suggestions and access preview to the "Extra capability" dropdown.
- The plugin now remembers the last selected menu item and re-selects it after you save changes.
- Fixed a layout issue where menus with very long titles would appear incorrectly in the menu editor.
- When you change the menu title, the window title will also be changed to match it. You can still edit the window title separately if necessary.
- Moved the "Icon URL" field up and moved "Window title" down.
- Split the "required capability" field into two parts – a read-only field that shows the actual required capability, and an editable "extra capability" that you can use to restrict access to the menu.
- Added more detailed permission error messages. You can turn them off in the "Settings" tab by changing "Error verbosity level" to "Low".
- Tested up to WP 4.6.
- Added a "Plugins" tab. It lets you hide specific plugins from other users. Note that this only affects the list on the "Plugins" page and tasks like editing plugin files, but it doesn't affect the admin menu.
- Tested up to WordPress 4.6-beta3.
- Fixed a bug that made menu items "jump" slightly to the left when you start to drag them.
- Fixed a Multisite-specific bug where temporarily switching to another site using the switch_to_blog() function could result in the user having the wrong permissions.
- When saving settings, the plugin will now compress the menu data before sending it to the server. This reduces the chances of exceeding request size limits that are imposed by some hosting companies.
- You can dismiss the "Settings saved" notification by clicking the "x" button.
- Tested up to WordPress 4.5.2.
- Fixed a bug introduced in version 1.6 that prevented the "collapse menu" link from working. In some cases, this bug also made it impossible to switch between "Help" tabs.
- Improved PHP 7 support.
- Added a few more menu icons.
- Added tabs to the settings page: "Admin Menu" and "Settings". These tabs replace the heading buttons that were previously used to switch between the menu editor and general plugin settings.
- Added basic support for the special "customize" and "delete_site" meta capabilities.
- Fixed a bug that prevented menu items with an empty slug (i.e. no URL) from showing up.
- Fixed a bug where collapsing menu properties would flag the "Icon URL" field as having a custom value even if you hadn't actually changed it.
- Fixed a rare WPML conflict that sometimes caused the admin menu to use a mix of different languages.
- Improved compatibility with buggy plugins and themes that throw JavaScript errors in their DOM-ready handlers.
- Renamed jquery.cookie.js to jquery.biscuit.js as a workaround for servers with overly aggressive ModSecurity configuration. Apparently, some servers block access to any URL that contains the text ".cookie".
- Added a compatibility workaround for the DW Question & Answer plugin. The hidden "Welcome", "Changelog" and "Credits" menu items should no longer show up when you activate AME.
- Added locking to reduce the risk of triggering a race condition when saving menu settings.
- Removed the non-functional "Embed WP page" option.
- Tested up to WordPress 4.5-RC1.
- Added "Keep this menu open" checkbox. This setting keeps a top level menu expanded even if it is not the current menu.
- Added sort buttons to the top level menu toolbar.
- Added an arrow that points from the current submenu to the currently selected parent menu. This might help new users understand that the left column shows top level menus and the right column shows the corresponding submenu(s).
- Added a new editor colour scheme that makes the menu editor look more like other WordPress admin pages (e.g. Appearance -> Menus). You can enable it through the plugin settings page.
- New and unused menu items will now show up in the same relative position as they would be in the default admin menu. Alternatively, they can be displayed at the bottom of the menu. You can configure this in plugin settings.
- Fixed a rare bug where the menu editor would crash if one of the menu items had a
menu title. Technically, it's not valid to set the title tonull
, but it turns out that some plugins do that anyway. - Top level menus that have an empty title ("", an empty string) are no longer treated as separators.
- Made all text fields and dropdowns the same height and gave them consistent margins.
- Fixed a number of layout bugs that could cause field labels to show up in the wrong place or get wrapped/broken in half when another plugin changed the default font or input size.
- Fixed a minor layout bug that caused the "expand menu properties" arrow to move down slightly when holding down the mouse button.
- Fixed a minor bug that could cause toolbar buttons to change size or position if another plugin happens to override the default link and image CSS.
- Added a workaround for plugins that create "Welcome", "What's New" or "Getting Started" menu items and then hide those items in a non-standard way. Now (some of) these items will no longer show up unnecessarily. If you find menus like that which still show up when not needed, please report them.
- Fixed a few other layout inconsistencies.
- Improved compatibility with buggy plugins that unintentionally corrupt the list of users' roles by misusing
. - Fixed a URL parsing bug that caused AME to mix up the "Customize", "Header" and "Background" menu items in some configurations.
- Fixed a layout issue where starting to drag one menu item would cause some other items to move around or change size very slightly.
- Fixed JavaScript error "_.empty is not a function".
- Increased minimum required WordPress version to 4.1.
- Renamed the "Show/Hide" button to "Hide without preventing access". Changed the icon from a grey puzzle piece to a rectangle with a dashed border.
- Made the plugin more resilient to JavaScript crashes caused by other plugins.
- Use
headings for admin pages in WordPress 4.2 and above. - Made the "delete" button appear disabled when the selected menu item can't be deleted.
- Moved the "new separator" button so that it's next to the "new menu" button.
- Changed the close icon of plugin dialogs to a plain white "X".
- Increased tooltip text size.
- Improved compatibility with IP Geo Block.
- Fixed a
TypeError: invalid 'in' operand a
error that caused compatibility issues with WordPress 4.3. - Fixed a bug where the current menu item wouldn't get highlighted if its URL included %-encoded query parameters.
- Fixed a bug in menu URL generation that could cause problems when moving a plugin menu from "Posts", "Pages" or a CPT to another menu. The URL of the menu item got changed in a way that could break some plugins.
- Fixed a .htaccess compatiblility issue with with Apache 2.3+.
- Fixed an incorrect directory name in an error message.
- The "Links" menu will no longer show up in the editor unless explicitly enabled. As of WP 3.5, the "Links" menu still exists in WordPress core but is inaccessible because the Links Manager is disabled by default.
- Tested with WordPress 4.3.
- Tested with WordPress 4.2.
- Trying to delete a non-custom menu item will now trigger a warning dialog that offers to hide the item instead. In general, it's impossible to permanently delete menus created by WordPress itself or other plugins (without editing their source code, that is).
- Added a workaround for a bug in W3 Total Cache 0.9.4.1 that could cause menu permissions to stop working properly when the CDN or New Relic modules were activated.
- Fixed a plugin conflict where certain menu items didn't show up in the editor because the plugin that created them used a very low priority.
- Signigicantly improved sanitization of menu properties.
- Renamed the "Choose Icon" button to "Media Library".
- Minor compatibility improvements.
- Tested on WP 4.1 and 4.2-alpha.
- Fixed a bug that allowed Administrators to bypass custom permissions for the "Appearance -> Customize" menu item.
- Fixed a regression in the menu highlighting algorithm.
- Fixed an "array to string conversion" notice caused by passing array data in the query string.
- Fixed menu scrolling occasionally not working when the user moved an item from one menu to another, much larger menu (e.g. having 20+ submenu items).
- Fixed a bug where moving a submenu item from a plugin menu that doesn't have a hook callback (i.e. an unusable menu serving as a placeholder) to a different menu would corrupt the menu item URL.
- Other minor bug fixes.
- Fixed "Appearance -> Customize" always showing up as "new" and ignoring custom settings.
- Fixed a WooCommerce 2.2.1+ compatibility issue that caused a superfluous "WooCommerce -> WooCommerce" submenu item to show up. Normally this item is invisible.
- Fixed a bug where the plugin would fail to determine the current menu if the user tries to add a new item of a custom post type that doesn't have an "Add New" menu. Now it highlights the CPT parent menu instead.
- Fixed a very obscure bug where certain old versions of PHP would crash if another plugin created a menu item using an absolute file name as the slug while AME was active. The crash was due to a known bug in PHP and only affected Windows systems with open_basedir enabled.
- Added more debugging information for situations where the plugin can't save menu settings due to server configuration problems.
- Other minor fixes.
- Added a special target page option: "< None >". It makes the selected menu item unclickable. This could be useful for creating menu headers and so on.
- Added a new menu editor colour scheme that's similar to the default WordPress admin colour scheme. Click the "Settings" button next to the menu editor page title to switch colour schemes.
- Fixed strange boxes showing up in the icon selector in Internet Explorer.
- Fixed duplicate top level menus mysteriously disappearing. Now the plugin will properly warn the user that all top level menus must have unique URLs.
- Fixed an obscure bug where changing the "Target page" from the default setting to "Custom" and back would occasionally make some menu properties suddenly show up as modified for no apparent reason.
- Fixed incorrect submenu item height and margins in WP 4.0-beta.
- Fixed a minor layout bug where items with no title would be smaller than other items.
- Fixed combo-box dropdown button height for WP 3.9.x.
- Added a workaround for a bug in WordPress Mu Domain Mapping 0.5.4.3.
- Added a workaround for the very unusual situation where the "user_has_cap" filter is called without a capability.
- Fixed duplicates of bbPress menu items showing up.
- Changed the default custom menu icon to the generic "cogwheel" icon from Dashicons.
- Other small UI changes.
- Raised minimum requirements to WordPress 3.8 or later. This is mainly due to the increased reliance on Dashicons as menu icons.
- Added a large number of menu icons based on the Dashicons icon font.
- Fixed default menu icons not showing up in WP 3.9.
- Fixed a rare "$link.attr(…) is undefined" JavaScript error.
- Fixed a bug where a hidden submenu page with a URL like "options-general.php?page=something" would still be accessible via "admin.php?page=something".
- Fixed several other minor bugs.
- Tested up to WordPress 3.9-RC1. Minimum requirements increased to WP 3.5.
- Tested with WordPress 3.8.
- Fixed several minor UI/layout issues related to the new 3.8 admin style.
- Fixed a bug where moving an item to a plugin menu and then deactivating that plugin would cause the moved item to disappear.
- Fixed deleted submenus not being restored if their original parent menu is no longer available.
- Fixed a rare glitch where submenu separators added by certain other plugins would sometimes disappear.
- Fixed a conflict with Shopp 1.2.9.
- Made the plugin treat "users.php" and "profile.php" as the same parent menu. This fixes situations where it would be impossible to hide a "Users" submenu item from roles that don't have access to the "Users" menu and instead get a "Profile" menu.
- Added extra logging for situations where a menu item is hidden because a higher-priority item with the same URL is also hidden.
- Minor performance improvements.
- Added a new settings page that lets you choose whether admin menu settings are per-site or network-wide, as well as specify who can access the plugin. To access this page, go to "Settings -> Menu Editor Pro" and click the small "Settings" link next to the page title.
- Added a way to show/hide advanced menu options through the settings page in addition to the "Screen Options" panel.
- Added a "Show menu access checks" option to make debugging menu permissions easier.
- Added partial WPML support. Now you can translate custom menu titles with WPML.
- The plugin will now display an error if you try to activate it when another version of it is already active.
- Added a "Target page" dropdown as an alternative to the "URL" field. To enter a custom URL, choose "Custom" from the dropdown.
- Fixed the "window title" setting only working for some menu items and not others.
- Fixed a number of bugs related to moving plugin menus around.
- Changed how the plugin stores menu settings. Note: The new format is not backwards-compatible with version 1.2.2.
- Replaced a number of icons from the "Silk" set with GPL-compatible alternatives.
- Tested with WP 3.6.
- Fixed a rare bug where the icon selector would appear at the bottom of the page instead of right below the icon button.
- Fixed incorrect icon alignment when running the MP6 admin UI.
- Tested on WP 3.6-beta1-24044.
- Added an icon drop-down that lets you pick one of the default WordPress menu icons or upload your own through the media library (only in WP 3.5+).
- Fixed misaligned button text in IE/Firefox.
- Fixed menus that have both a custom icon URL and a "menu-icon-*" class displaying two overlapping icons. You can still get this effect if you set the class and URL manually.
- Fixed a compatibility problem with Participants Database 126.96.36.199.
- Tested on WP 3.5.1 and WP 3.6-alpha.
- Fixed a layout glitch that would cause the editor sidebar to display incorrectly in WP 3.5.
- When trying to determine the current menu, the plugin will now ignore all links that contain nothing but an "#anchor". Various plugins use such links as separators and it wouldn't make sense to highlight them.
- Tested on WP 3.5 (RC6).
- Fixed several more small CPT-related bugs that would cause the wrong menu to be marked as current.
- Tested on WP 3.5-beta2.
- Tested on WP 3.4.2 and WP 3.5-alpha-21879.
- Fixed a visual glitch related to the arrow that's used to expand menu settings. In certain situations clicking it would cause the arrow icon to be briefly replaced with multiple copies of the same icon.
- Fixed the position of the URL and capability dropdown lists. Now they should show up directly under the corresponding input box instead of appearing some distance down and to the right.
- Fixed the size of the toolbar buttons – now they're perfectly square.
- Fixed a rare bug that would sometimes cause the wrong menu to be marked as active/expanded.
- Only display the survey notice on the menu editor page, not on all admin pages.
- Added a new user survey. The notice will only appear for users who didn't complete or hide the previous one.
- Fixed a number of bugs in the code that determines which menu should be expanded.
- Fixed compatibility issues on sites running in SSL mode.
- Fix author URL (was 404).
- Tested on WP 3.4.1
- Update plugin description. Some notes were no longer accurate for the current version.
- Tested on WP 3.4
- Fixed a rare "failed to decode input" error.
- Fixed menus not being expanded/collapsed properly when the current menu item has been moved to a different sub-menu.
- Added a shortlist of Pro version benefits to the editor page (can be hidden).
- Tested on WP 3.3.2
- Added a user survey.
- Tested on WP 3.3.1.
- Fixed a couple 404's in the readme and the plugin itself.
- Fixed an error where there would be no custom menu to show.
- Removed the "Feedback" button due to lack of use. You can still provide feedback via blog comments or email, of course.
- Fixed the updater's cron hook not being removed when the plugin is deactivated.
- Fixed updates not showing up in some situations.
- Fixed the "Feedback" button not responding to mouse clicks in some browsers.
- Fixed "Feedback" button style to be consistent with other WP screen meta buttons.
- Enforce the custom menu order by using the 'menu_order' filter. Fixes Jetpack menu not staying put.
- You can now copy/paste as many menu separators as you like without worrying about some of them mysteriously disappearing on save.
- Fixed a long-standing copying related bug where copied menus would all still refer to the same JS object instance.
- Added ALT attributes to the toolbar icon images.
- Removed the "Custom" checkbox. In retrospect, all it did was confuse people.
- Made it impossible to edit separator properties.
- Removed the deprecated "level_X" capabilities from the "Required capability" dropdown. You can still type them in manually if you want.
- Tests for WordPress 3.2 compatibility.
- Fixed a "failed to decode input" error that could show up when saving the menu.
- WordPress 3.1.3 compatibility. Should also be compatible with the upcoming 3.2.
- Fixed spurious slashes sometimes showing up in menus.
- Fixed a fatal error concerning "Services_JSON".
- WordPress 3.1 compatibility.
- Added the ability to drag & drop a menu item to a different menu.
- Added a drop-down list of Dashboard pages to the "File" box.
- When the menu editor is opened, the first top-level menu is now automatically selected and it's submenu displayed. Hopefully, this will make the UI slightly easier to understand for first-time users.
- All corners rounded on the "expand" link when not expanded.
- By popular request, the "Menu Editor" menu entry can be hidden again.
- Added "Super Admin" to the "Required capability" dropdown.
- Prevent users from accidentally making the menu editor inaccessible.
- WordPress 3.0.1 compatibility made official.
- Added a "Feedback" link.
- Added a dropdown list of all roles and capabilities to the menu editor.
- Added toolbar buttons for sorting menu items alphabetically.
- New "Add separator" button.
- New separator graphics.
- Minimum requirements upped to WP 3.0.
- Compatibility with WP 3.0 MultiSite mode.
- Plugin pages moved to different menus no longer stop working.
- Fixed moved pages not having a window title.
- Hide advanced menu fields by default (can be turned off in Screen Options).
- Changed a lot of UI text to be a bit more intuitive.
- In emergencies, administrators can now reset the custom menu by going to http://example.com/wp-admin/?reset_admin_menu=1
- Fixed the "Donate" link in readme.txt
- Unbundle the JSON.php JSON parser/encoder and use the built-in class-json.php instead.
- Use the native JSON decoding routine if it's available.
- Replaced the cryptic "Cannot redeclare whatever" activation error message with a more useful one.
- Provisional WPMU support.
- Missing and unused menu items now get different icons in the menu editor.
- Fixed some visual glitches.
- Items that are not present in the default menu will only be included in the generated menu if their "Custom" flag is set. Makes perfect sense, eh? The takeaway is that you should tick the "Custom" checkbox for the menus you have created manually if you want them to show up.
- You no longer need to manually reload the page to see the changes you made to the menu. Just clicking "Save Changes" is enough.
- Added tooltips to the small flag icons that indicate that a particular menu item is hidden, user-created or otherwise special.
- Updated the readme.txt
- Fixed a conflict with All In One SEO Pack 1.6.10. It was caused by that plugin adding invisible sub-menus to a non-existent top-level menu.
- First release on wordpress.org
- Moved all images into a separate directory.
- Added a readme.txt


text:
< Changes
Add-On Modularity
Beginning in Fedora 28, Fedora will provide a new set of repositories for software and updates with alternative versions from those shipped in the default release.
Please see Modularity is Dead, Long Live Modularity! for an in-depth description of the plan.
- Name: Stephen Gallagher
- Name: Langdon White
- Email: email@example.com
- Email: langdon at fp dot o
- Release notes ticket: #73
Current status
Detailed Description
Fedora 28 will extend the set of available repositories to include
These repositories will provide access to Fedora Modules, a set of alternative package streams that can replace the versions shipped by default in Fedora.
Benefit to Fedora
Modularity provides users the opportunity to solve the "too fast/too slow" problem in Fedora. For users that need to maintain an older piece of software, they can "lock" themselves on a particular framework between Fedora releases (for as long as that version is supported/supportable). For users that need to be using a newer version of software than what was shipped in the release, an updated stream can be made available without forcing all users of Fedora to migrate to it (if there are compatibility concerns).
Proposal owners
The feature owners need to provide a set of reference modules and module-streams that can be composed into the new repository. The set of available packages can and should increase over time as other packagers start taking advantage of it.
Other developers
Developers who wish to offer multiple streams of software in Fedora will need to update their packaging process to take advantage of the new dist-git branching features to allow them to build the same version across multiple releases of Fedora.
Developers who are not interested in doing this at this time will not need to make any changes. When co-maintainers of a packages have different interests, they will need to coordinate.
MirrorManager will need an update to know about the new modular repos.
Release engineering
Ticket #7227 (a check of an impact with Release Engineering is needed)
This Change will require considerable interaction with Release Engineering and the Factory 2.0 teams.
- New Modular Repositories (one under release, one under updates, one under updates-testing)
- Stream Expansion from Factory 2.0
- Automatic creation of basic modules https://pagure.io/modularity/issue/97
- Default streams tagged into base
Work will be tracked in Taiga — links to specific items to come.
List of deliverables
Affects several release blocking deliverables.
There will be an additional fedora-repos-modular
package that will be installed by default on some Editions/Spins (each WG or SIG will need to make their own decision on whether to ship modules enabled by default).
Policies and guidelines
Some guidelines are already available at https://fedoraproject.org/wiki/Module:Guidelines, however we have plans in place to vastly simplify the process, which should make packagers' lives much easier.
Trademark approval
N/A (not needed for this Change)
Upgrade/compatibility impact
The new Modularity approach will need to be tested to ensure that upgrades work properly from Fedora 27 to Fedora 28 with all modules in their default streams. For Fedora 27->28, modules will become available only after upgrade. Beginning with Fedora 28->29, we will need to also test and support upgrades that remain on a selected module stream, but that will be a Fedora 29 Change Proposal.
How To Test
Testing of this feature will require verifying that each Edition provides (or not) the new modular repositories and can successfully install software with or without those new repositories being enabled. They will also need to test that enabling and installing a non-default module stream works when the modular repositories are enabled.
User Experience
This will be a highly visible change, as it will offer users a much wider range of versions of their software from which to choose (with the defaults remaining as they have in traditional Fedora).
There are significant dependencies on the release engineering and Factory 2.0 teams to make this work.
Contingency Plan
- Contingency mechanism: The various release artifacts will ship without having the modular repositories enabled. Release Engineering will probably want to suppress any existing repository content from the mirrors to save bandwidth.
- Contingency deadline: Beta Freeze
- Blocks release? No
- Blocks product? No
This will be updated as we go. For now:
- https://communityblog.fedoraproject.org/modularity-dead-long-live-modularity/
- https://fedoraproject.org/wiki/Module:Guidelines
Release Notes
To be written. Probably will be a condensed and updated version of the Long Live Modularity blog post, focused on user experience with links to contributor/developer information.


text:
Most compressor/gates provide less than musical compression, coupled with gating that swallows transients—or closes early, cutting off decay and reverb tails. The superb engineering in the 266XL ensures that both its compression and gating provide versatility and excellent sonic performance in situations where other compressor/gates typically produce undesirable processing artifacts.
When using the 266XL's AutoDynamic™ Attack and Release controls, artists and engineers will find that the center settings deliver classic dbx compression, while the full control range produces voicings that extend from slow "leveling" to aggressive "peak" limiting.
The Auto Dynamic™ circuitry continuously adjusts the actual attack and release times to optimally match the program material. Since users aren't restricted to using the Attack and Release controls only in "peak" operation, they can tailor the response of the 266XL for individual tracks, mixed program material, special effects or system protection. As a result, production studios can use the versatile 266XL to replace multiple "single-purpose" limiters while sound reinforcement users can standardize on the 266XL for all of their applications.
The 266XL's advanced gate circuitry uses a completely new, program-dependent timing algorithm to produce ultra-smooth release characteristics—even with complex signals, such as voice or reverb decays. dbx engineers went on to take advantage of the wide dynamic range and high precision of the dbx® VCA to design in an extra-wide threshold range and ensure top gating performance for each application.
Separate precision LED displays for gain reduction, compression threshold and gate threshold allow quick, accurate setup, while the 266XL's intuitive operation lets users easily smooth uneven levels, add sustain to guitars, squash drums or tighten up mixes. In Stereo couple mode, the Channel 1 controls become Master controls, and Channel 2 follows precisely to ensure a rock solid stereo image—even with high amounts of compression. Professionals and newcomers will find that the 266XL sets up rapidly and musically the first time it is used, and every time thereafter.
The dbx® 266XL processor is the result of an intensive engineering and product development effort aimed at taking advantage of the latest and best advances in manufacturing technology to deliver true dbx audio performance and reliability to our customers at the lowest possible cost. The 266XL puts a completely new level of compressor/gate performance within everyone's reach.


text:
In his inaugural address, Barack Obama appealed to each of us to give our best as we try to extricate ourselves from this current financial crisis. But what did he appeal to? He did not, happily, follow in the footsteps of his predecessor and tell us to just go shopping. Nor did he tell us, "Trust us. Trust your country. Invest, invest, invest." Instead, what he told us was to put aside childish things. And he appealed to virtue. Virtue is an old-fashioned word. It seems a little out of place in a cutting-edge environment like this one. And besides, some of you might be wondering, what the hell does it mean?
Let me begin with an example. This is the job description of a hospital janitor that is scrolling up on the screen. And all of the items on it are unremarkable. They're the things you would expect: mop the floors; sweep them; empty the trash. Restock the cabinets. It may be a little surprising how many things there are, but it's not surprising what they are. But the one thing I want you to notice about them is this: Even though this is a very long list, there isn't a single thing on it that involves other human beings. Not one. The janitor's job could just as well be done in a mortuary as in a hospital.
And yet, when some psychologists interviewed hospital janitors to get a sense of what they thought their jobs were like, they encountered Mike, who told them about how he stopped mopping the floor because Mr. Jones was out of his bed getting a little exercise, trying to build up his strength, walking slowly up and down the hall. And Charlene told them about how she ignored her supervisor's admonition and didn't vacuum the visitor's lounge because there were some family members, who were there all day, every day, who, at this moment, happened to be taking a nap. And then there was Luke, who washed the floor in a comatose young man's room twice because the man's father, who had been keeping a vigil for six months, didn't see Luke do it the first time, and his father was angry. And behavior like this, from janitors, from technicians, from nurses and, if we're lucky now and then, from doctors, doesn't just make people feel a little better. It actually improves the quality of patient care and enables hospitals to run well.
Now, not all janitors are like this, of course. But the ones who are think that these sorts of human interactions involving kindness, care and empathy are an essential part of the job. And yet, their job description contains not one word about other human beings. These janitors have the moral will to do right by other people. And beyond this, they have the moral skill to figure out what "doing right" means.
"Practical wisdom," Aristotle told us, "is the combination of moral will and moral skill." A wise person knows when and how to make the exception to every rule, as the janitors knew when to ignore the job duties in the service of other objectives. A wise person knows how to improvise, as Luke did when he re-washed the floor. Real-world problems are often ambiguous and ill-defined, and the context is always changing. A wise person is like a jazz musician—using the notes on the page, but dancing around them, inventing combinations that are appropriate for the situation and the people at hand. A wise person knows how to use these moral skills in the service of the right aims. To serve other people, not to manipulate other people. And finally, perhaps most important, a wise person is made, not born. Wisdom depends on experience, and not just any experience. You need the time to get to know the people that you're serving. You need permission to be allowed to improvise, to try new things, occasionally to fail and to learn from your failures. And you need to be mentored by wise teachers.
When you ask the janitors who behaved like the ones I described how hard it is to learn to do their job, they tell you that it takes lots of experience. And they don't mean it takes lots of experience to learn how to mop floors and empty trash cans. It takes lots of experience to learn how to care for people. At TED, brilliance is rampant. It's scary. The good news is that you don't need to be brilliant to be wise. The bad news is that without wisdom, brilliance isn't enough. It's as likely to get you and other people into trouble as anything else.
Now, I hope that we all know this. There's a sense in which it's obvious, and yet, let me tell you a little story. It's a story about lemonade. A dad and his seven-year-old son were watching a Detroit Tigers game at the ballpark. His son asked him for some lemonade and Dad went to the concession stand to buy it. All they had was Mike's Hard Lemonade, which was five percent alcohol. Dad, being an academic, had no idea that Mike's Hard Lemonade contained alcohol. So he brought it back. And the kid was drinking it, and a security guard spotted it, and called the police, who called an ambulance that rushed to the ballpark, whisked the kid to the hospital. The emergency room ascertained that the kid had no alcohol in his blood. And they were ready to let the kid go.
But not so fast. The Wayne County Child Welfare Protection Agency said no. And the child was sent to a foster home for three days. At that point, can the child go home? Well, a judge said yes, but only if the dad leaves the house and checks into a motel. After two weeks, I'm happy to report, the family was reunited. But the welfare workers and the ambulance people and the judge all said the same thing: "We hate to do it, but we have to follow procedure."
How do things like this happen? Scott Simon, who told this story on NPR, said, "Rules and procedures may be dumb, but they spare you from thinking." And, to be fair, and to be fair, rules are often imposed because previous officials have been lax and they let a child go back to an abusive household. Fair enough. When things go wrong, as of course they do, we reach for two tools to try to fix them.
One tool we reach for is rules. Better ones, more of them. The second tool we reach for is incentives. Better ones, more of them. What else, after all, is there? We can certainly see this in response to the current financial crisis. Regulate, regulate, regulate. Fix the incentives, fix the incentives, fix the incentives... The truth is that neither rules nor incentives are enough to do the job. How could you even write a rule that got the janitors to do what they did? And would you pay them a bonus for being empathic? It's preposterous on its face. And what happens is that as we turn increasingly to rules, rules and incentives may make things better in the short run, but they create a downward spiral that makes them worse in the long run. Moral skill is chipped away by an over-reliance on rules that deprives us of the opportunity to improvise and learn from our improvisations. And moral will is undermined by an incessant appeal to incentives that destroy our desire to do the right thing. And without intending it, by appealing to rules and incentives, we are engaging in a war on wisdom.
Let me just give you a few examples, first, of rules and the war on moral skill. The lemonade story is one. Second, no doubt more familiar to you, is the nature of modern American education: scripted, lock-step curricula. Here's an example from Chicago kindergarten. Reading and enjoying literature and words that begin with "B." "The Bath." Assemble students on a rug; give students a warning about the dangers of hot water; say 75 items in this script to teach a 25-page picture book. All over Chicago in every kindergarten class in the city, every teacher is saying the same words in the same way on the same day. We know why these scripts are there. We don't trust the judgment of teachers enough to let them loose on their own. Scripts like these are insurance policies against disaster. And they prevent disaster. But what they assure in its place is mediocrity.
Don't get me wrong. We need rules! Jazz musicians need some notes—most of them need some notes on the page. We need more rules for the bankers, God knows. But too many rules prevent accomplished jazz musicians from improvising. And as a result, they lose their gifts, or worse, they stop playing altogether.
Now, how about incentives? They seem cleverer. If you have one reason for doing something and I give you a second reason for doing the same thing, it seems only logical that two reasons are better than one and you're more likely to do it, right? Well, not always. Sometimes, two reasons to do the same thing seem to compete with one another instead of complimenting, and they make people less likely to do it.
I'll just give you one example because time is racing. In Switzerland, back about 15 years ago, they were trying to decide where to site nuclear waste dumps. There was going to be a national referendum. Some psychologists went around and polled citizens who were very well informed, and they said, "Would you be willing to have a nuclear waste dump in your community?" Astonishingly, 50 percent of the citizens said yes. They knew it was dangerous. They thought it would reduce their property values. But it had to go somewhere, and they had responsibilities as citizens. The psychologists asked other people a slightly different question. They said, "If we paid you six weeks' salary every year, would you be willing to have a nuclear waste dump in your community?" Two reasons—it's my responsibility and I'm getting paid. Instead of 50 percent saying yes, 25 percent said yes. What happens is that the second, this introduction of incentive, gets us so that instead of asking, "What is my responsibility?" all we ask is, "What serves my interests?" When incentives don't work, when CEOs ignore the long-term health of their companies in pursuit of short-term gains that will lead to massive bonuses, the response is always the same. Get smarter incentives.
The truth is that there are no incentives you can devise that are ever going to be smart enough. Any incentive system can be subverted by bad will. We need incentives. People have to make a living. But excessive reliance on incentives demoralizes professional activity in two senses of that word. It causes people who engage in that activity to lose morale and it causes the activity itself to lose morality.
Barack Obama said, before he was inaugurated, "We must ask not just 'Is it profitable?' but 'Is it right?'" And when professions are demoralized, everyone in them becomes dependent on—addicted to—incentives and they stop asking "Is it right?" We see this in medicine.
"Although it's nothing serious, let's keep an eye on it to make sure it doesn't turn into a major lawsuit."
And we certainly see it in the world of business.
"In order to remain competitive in today's marketplace, I'm afraid we're going to have to replace you with a sleezeball."
"I sold my soul for about a tenth of what the damn things are going for now."
It is obvious that this is not the way people want to do their work. So what can we do? A few sources of hope: we ought to try to re-moralize work. One way not to do it: teach more ethics courses. There is no better way to show people that you're not serious than to tie up everything you have to say about ethics into a little package with a bow and consign it to the margins as an ethics course.
What to do instead? One: Celebrate moral exemplars. Acknowledge, when you go to law school, that a little voice is whispering in your ear about Atticus Finch. No 10-year-old goes to law school to do mergers and acquisitions. People are inspired by moral heroes. But we learn that with sophistication comes the understanding that you can't acknowledge that you have moral heroes. Well, acknowledge them. Be proud that you have them. Celebrate them. And demand that the people who teach you acknowledge and celebrate them, too. That's one thing we can do.
I don't know how many of you remember this: another moral hero, 15 years ago, Aaron Feuerstein, who was the head of Malden Mills in Massachusetts—they made Polartec—the factory burned down. 3,000 employees—he kept every one of them on the payroll. Why? Because it would have been a disaster for them and for the community if he had let them go. "Maybe on paper, our company is worth less to Wall Street, but I can tell you it's worth more. We're doing fine."
Just at this TED, we heard talks from several moral heroes. Two were particularly inspiring to me. One was Ray Anderson, who turned, you know, a part of the evil empire into a zero-footprint, or almost zero-footprint business. Why? Because it was the right thing to do. And a bonus he's discovering is he's actually going to make even more money. His employees are inspired by the effort. Why? Because they're happy to be doing something that's the right thing to do. Yesterday, we heard Willie Smits talk about re-foresting in Indonesia.
In many ways, this is the perfect example, because it took the will to do the right thing. And God knows it took a huge amount of technical skill. I'm boggled at how much he and his associates needed to know in order to plot this out. But most important to make it work—and he emphasized this—is that it took knowing the people in the communities. Unless the people you're working with are behind you, this will fail. And there isn't a formula to tell you how to get the people behind you, because different people in different communities organize their lives in different ways.
So there's a lot here at TED, and at other places, to celebrate. And you don't have to be a mega-hero. There are ordinary heroes. Ordinary heroes like the janitors, who are worth celebrating, too. As practitioners, each and every one of us should strive to be ordinary, if not extraordinary heroes. As heads of organizations, we should strive to create environments that encourage and nurture both moral skill and moral will. Even the wisest and most well-meaning people will give up if they have to swim against the current in the organizations in which they work.
If you run an organization, you should be sure that none of the jobs—none of the jobs—have job descriptions like the job description of the janitors. Because the truth is that any work you do that involves interaction with other people is moral work. And any moral work depends upon practical wisdom.
And, perhaps most important, as teachers, we should strive to be the ordinary heroes, the moral exemplars, to the people we mentor. And there are a few things that we have to remember as teachers. One is that we are always teaching. Someone is always watching. The camera is always on. Bill Gates talked about the importance of education and, in particular, the model that KIPP was providing:"Knowledge is power." And he talked about a lot of the wonderful things that KIPP is doing to take inner-city kids and turn them in the direction of college.
I want to focus on one particular thing KIPP is doing that Bill didn't mention. And that is they have come to the realization that the single most important thing kids need to learn is character. They need to learn to respect themselves. They need to learn to respect their schoolmates. They need to learn to respect their teachers. And most important, they need to learn to respect learning. That's the principle objective. If you do that, the rest is just pretty much a coast downhill. And the teachers: the way you teach these things to kids is by having the teachers and all the other staff embody it every minute of every day.
Obama appealed to virtue. And I think he was right. And the virtue that we need above all others, I think, is practical wisdom, because it's what allows other virtues—honesty, kindness, courage and so on—to be displayed at the right time and in the right way. He also appealed to hope. Right again. I think there is reason for hope. I think people want to be allowed to be virtuous.
In many ways, it's what TED is all about—wanting to do the right thing in the right way for the right reasons. This kind of wisdom is within the grasp of each and every one of us if only we start paying attention. Paying attention to what we do, to how we do it, and perhaps most importantly, to the structure of the organizations within which we work, so as to make sure that it enables us and other people to develop wisdom rather than having it suppressed. Thank you very much. Thank you.


text:
Perl Image Requests
Gravatar implementations with Perl are pretty straightforward, however you do need to include several external libraries. These are probably already installed on your machine, but if they're not, you'll have to download and install them.
Let's start by including those library functions that we'll utilize:
use URI::Escape qw(uri_escape); use Digest::MD5 qw(md5_hex);
Next, assume the following variables are available to you:
my $email = 'firstname.lastname@example.com'; my $default = "https://www.example.com/default.jpg"; my $size = 40;
You can construct your gravatar url with the following Perl code:
my $grav_url = "https://www.gravatar.com/avatar/".md5_hex(lc $email)."?d=".uri_escape($default)."&s=".$size;
This only constructs the URL, so don't forget to place it in an img
tag before printing it.