To participate you must create an account on apostrophenow.org. If you have already done so, click Login.

{5} Accepted, Active Tickets by Owner (Full Description) (79 matches)

List tickets accepted, group by ticket owner. This report demonstrates the use of full-row display.

johnnyoffline (4 matches)

Ticket Summary Component Milestone Type Created
Description
#44 Add "Reorganize" icon to new nav component, existing tab and subnav components apostrophePlugin 1.6 enhancement 01/27/10

Make it easy to discover the "Reorganize" feature, which makes it safe to limit in-context reorganize in contexts where it is confusing, such as tree and accordion nav controls.


#899 Collect all possible app.yml settings for apostrophe and put them in app.yml apostrophePlugin 1.5.2 enhancement 01/18/11

Everyone will love me for this.

I am going to grep for all app_a_... settings in Apostrophe and figure out what they are used for.

Then I will put them in app.yml either commented out or with a meaningful default value.

They will be accompanied with a comment documenting their options and purpose.


#107 ESC key should act as 'cancel' button when editing slots apostrophePlugin 1.6 enhancement 02/22/10

While editing a slot it would be helpful if you could hit the ESC key to cancel editing.

Similarly, if you are editing a slot and not focused in the text area, ENTER should act as 'save.'

This came up because while developing a new template the save and cancel buttons were hidden behind another element, it would be a time saver to not click the buttons if you're currently typing.


#1040 Abstract font size as much as possible in LESS CSS changes apostrophePlugin 1.5.2 enhancement 05/11/11

Much of Apostrophe's CSS assumes a body font size of 12px, which makes changing the font size one of the more difficult changes to make to Apostrophe's CSS. It would fantastic if more font sizes could be scaled off a configurable body font size.


jviveret (1 match)

Ticket Summary Component Milestone Type Created
Description
#960 'Page settings' was not translated apostrophePlugin 1.5.2 defect 02/14/11

Missing call to () helper


rickybanister (3 matches)

Ticket Summary Component Milestone Type Created
Description
#123 'Quick add' images/events in-context on-the-fly apostrophePlugin: Media 2.0 enhancement 02/28/10

Adding this ticket to keep track of this idea.

Eventually, we should open a more detailed separate tickets for events and photos if we are going to implement.

Rick, discuss with the team and then design out the flow of how this will happen and open those tickets.

We should consider making on-the-fly features in slots. 'quick add' an event to the calendar slot. Add a single image, then upload it within the slot.


#129 Use flickr API to suck in flickr streams to media module apostrophePlugin: Media 2.0 enhancement 03/01/10

Originally Opened by Rick Banister 9/29/2009 12:09 PM:

We should some day write something to pull in a flickr stream, maybe the entire stream, maybe one set at a time. We can match up title and description fields, tags, etc. The fields mostly match, I used flickr as the model for the media section.

There are lots of ways that Flickr could be integrated into Apostrophe, so let's us this as a ticket to continue to brainstorm ideas on that.


#265 Index View: Date sort/filter apostropheBlogPlugin 2.0 enhancement 04/13/10

I'm not sure if this is intended for the 1.1 or the 1.2 release of the blog plugin.

Right now Date just sorts ASC/DESC and I think that works fine.

In the future a dropdown should appear with the ability to choose a date or date range to filter by.

Rick create a sketch and assign to Dan

- Date search/sort is by date only. Click Published at and get a modal box with two RichDate? Widgets for selecting a range. Upon selecting the start date, the end date defaults to the same value. Optionally allowing the user to search by a range rather than day. @dan


tboutell (71 matches)

Ticket Summary Component Milestone Type Created
Description
#912 a_button() helper needs to be modeled after link_to() ASAP apostrophePlugin 1.5.2 defect 01/20/11

The a_button() helper is great, it makes a ton of sense, it already saved me numerous headaches when modifying our button markup throughout Apostrophe.

The only problem is that it is not modeled after the link_to() call and the options that it takes do not map 1:1.

Please update the a_button helper and its subsidiaries before we start using it in client projects, because it will just get worse the longer we let this go.


#933 normalView should know if $editable=true apostrophePlugin 1.5.2 defect 01/28/11

The blog slot in particular displays messages to users when they are filtering too specifically and no blog posts are displayed.

This message is currently visible when you log out if the admin / editor doesn't relax the filters on the slot.

But really ALL slots in general should know the value of $editable in an efficient and sustainable way.

I am making this critical because it's a real bug that will affect multiple live client sites.


#983 blog_admin permission ignored apostropheBlogPlugin 1.5.2 defect 03/08/11

When logged in as editor with "blog_admin" permission set (but not global admin), no blog items are available.

The permission description reads "Can edit and delete anyone's news posts, etc.". Wouldn't that mean, that a user with only editor and blog_admin permissions can see all blog items?


#1011 Reorder user admin search results apostrophePlugin 1.5.2 defect 04/05/11

We should be ordering Apostrophe user admin search results to favor last names, first names, full names and finally usernames, with matches at the beginning favored over results in the middle.

You can see an example of this being implemented in the POGIL project I recently worked on. Look in /lib/filter/doctrine/sfDoctrineGuardPlugin/sfGuardUserFormFilter.class.php::addUsernameColumnQuery().

We worked through oodles of subtleties of how Doctrine does or doesn't allow custom fields and ? clauses for them, there are reasons for the PDO quote calls.


#1027 Blog Comments Disabled / Enabled Toggle doesn't work. apostropheBlogPlugin 1.5.2 defect 04/27/11

There's an app.yml flag for displaying the comments enabled / disabled toggle functionality when editing individual blog posts.

This feature was missed when we de-mystified the blog sidebar and made it a simple submit to save.

We need to make the toggle a checkbox and then hook it into Disqus


#1058 Extend the LESS Compiler to look for a-style.less files in the project first apostrophePlugin 1.5.2 defect 05/24/11

If we extend the LESS compiler to look at the project level CSS directory for a LESS file of the same name as a LESS file in the apostrophe CSS direcory.

The project level file should win, replacing the plugin level file.

This is logical and awesome and would allow us to dispense with app.yml / view.yml declarations for overriding plugin assets (when they have all been lessified)

Jake needs this asap for client work.


#1070 apostrophe.menuToggle broken in chrome apostrophePlugin 1.5.2 defect 06/07/11

_menuToggle in a.js will not add menu ids when they are missing in Google Chrome. The result of this is that the add content, add page, and many other buttons are broken.

The issue is an incorrect equivalency check in _menuToggle:

if (menu.attr('id') == '')
{
  //assign id
}

In Chrome, .attr('id') will return undefined when it is not present, which is not equiavlent to an empty string. I'm not sure why that check is even there, as an empty string, undefined, null, etc. all evaluate to false.

Furthermore, at least at first glance, I don't even see a necessity of assigning an id. Both places it is used the menu object could simply be used directly.


#4 Zend_Mailer encoding issue sfDoctrineApplyPlugin 1.5.2 defect 12/06/09

Laurynas Malisauskas <laurynas.malisauskas@…>

when sending mail you do not pass encoding for Zend_Mailer constructor, this creates a bug when sending emails with non-latin characters in the subject. this is a minor issue because you made it easy to override the action.


#111 Document the need to remove stale plugins' lib/model/doctrine stuff Documentation 1.5.2 defect 02/22/10

The apostrophe migrator doesn't remove folders of autogenerated code from plugins like pkMediaPlugin that no longer exist, because they could contain app level overrides, but the developer should do this. Document that.


#151 sfShibbolethPlugin needs to be 1.4 compliant sfShibbolethPlugin 1.5.2 defect 03/04/10

sfShibbolethPlugin needs to be linted for Symfony 1.4 compliance. Right now the filter chain is probably wrong for 1.4. Also make sure there's no select_tag nonsense.


#155 i18n Content Slots Fallback to default culture Documentation 1.6 defect 03/04/10

In order to ease the translation and i18n of a website, it would be useful if apostrophe can fall back to the default culture for the content slots.

The current workflow is the following:

1.) Create content/pages/slots in English (Complex Navigation) 2.) Switch culture 3.) Rename page ( For each navigation item ) 4.) Switch to default culture 5.) Per slot jot down the slots and content

5.1) In case of a slideshow, we have to recreate it per culture

6.) Switch culture 7.) Recreate all the slots and write content for each. (Possibly look to 5)

By adding the functionality of the default culture fallback the workflow would change as follows

1.) Create content/pages/slots in English 2.) Switch culture 3.) Translate the page name 4.) For each content slot start translating.

This feature would also help with the navigation, because at the moment once the culture switches if the pages do not have a corresponding translation for user culture, they are not shown anywhere, so you need to keep switching.


#237 Custom slugs shouldn't be changed apostrophePlugin 1.6 defect 04/05/10

1. I have a page under About called Staff. 2. I give that page a custom slug called /our-awesome-staff. 3. I decide to move that page underneath the contact section. 4. Now the slug is /contact/our-awesome-staff. This isn't what I wanted!

The redirect still works for this kind of situation, but we should avoid rewriting these custom slugs.


#446 Make blog and event plugins translatable apostrophePlugin 1.5.2 defect 06/14/10

Please make it possible to translate the phrases used in the blog and event plugins.


#529 Handle cache invalidation in the minifier apostrophePlugin 1.6 defect 08/16/10

Right now the minifier uses the default caching behavior of the server, just as regular files in web/js or web/css would. This isn't terrible, it doesn't make things any worse than they already were. However it would be much better to have .htaccess directives specifying that the jssgz and cssgz files never expire so you can come back to the site without paying a penalty tomorrow.

The trick is making sure you don't get stuck with old versions if they *are* updated. You can do that by keeping a cache version string (a guid) in the asset-cache folder or perhaps someplace less public like data/a_writable. Delete that in the symfony cc hook. When it doesn't yet exist, make sure that you read it after generating and renaming the file just in case someone else won the race to rename it.

Thanks to pghoratiu.


#769 Enginepage slugs in Greek don't work on prod apostrophePlugin 1.5.2 defect 12/12/10

I have created an enginepage module and a page that uses it. if i use greek in the slug of the page the module isn't executed and i get this in the apache log:

[error] [client 127.0.0.1] PAGE URL: /admin/media, referer:  http://localhost/%CF%84%CE%BF%CF%80%CE%BF%CE%B8%CE%B5%CF%83%CE%B9%CE%B5%CF%82 [error] [client 127.0.0.1] Matching, referer:  http://localhost/%CF%84%CE%BF%CF%80%CE%BF%CE%B8%CE%B5%CF%83%CE%B9%CE%B5%CF%82 [error] [client 127.0.0.1] Matched /admin/media, referer:  http://localhost/%CF%84%CE%BF%CF%80%CE%BF%CE%B8%CE%B5%CF%83%CE%B9%CE%B5%CF%82 [error] [client 127.0.0.1] /admin/media/select, referer:  http://localhost/%CF%84%CE%BF%CF%80%CE%BF%CE%B8%CE%B5%CF%83%CE%B9%CE%B5%CF%82

This only happens on the prod environment. On dev everything works fine. The rule i use in my routing.yml is:

flocations_list:

url: / param: { module: fLocation, action: index } class: aRoute


#784 Users can't see their profiles or change their password apostrophePlugin 1.6 defect 12/17/10

I can't click on 'admin' (or any other user I sign in as). There is no way to reset the password unless I use the forgot password link.


#810 _dateRange.php produces error without event times apostropheBlogPlugin 1.5.2 defect 12/30/10

How to reproduce: 1) Create an event which includes text "thiswillnotbefound" 2) Search "thiswillnotbefound" 3) Impossible to parse date "" with format "yyyy-MM-dd HH:mm:ss".

Problem is in plugins/apostropheBlogPlugin/modules/aEvent/templates/_dateRange.php

Replace if(is_null($aEvent->XXXX)) with if(is_null($aEvent->XXXX) && !empty($aEvent->XXXX))

is_null works fine in the event model, but I think that the search passes the date in empty strings or so and that's why it doens't work.


#868 Image with scandinavian characters doesn't work in dev apostrophePlugin 1.5.2 defect 01/13/11

/frontend_dev.php/uploads/media_items/stig-nygård.150.185.c.jpg : doesn't work

This request has been forwarded to a 404 error page by the action "a/show".
--
# at sfAction->forward404Unless()
in SF_ROOT_DIR/plugins/apostrophePlugin/lib/toolkit/BaseaTools.class.php line 498 ...

       495.   
       496.   static public function validatePageAccess(sfAction $action, $page)
       497.   {
       498.     $action->forward404Unless($page);
       499.     if (!$page->userHasPrivilege('view'))
       500.     {
       501.       // forward rather than login because referrers don't always

# at BaseaTools::validatePageAccess(object('aActions'), )
in SF_ROOT_DIR/plugins/apostrophePlugin/lib/action/BaseaActions.class.php line 54 ...

/index.php/uploads/media_items/stig-nygård.150.185.c.jpg : works


#935 Missing translations apostropheBlogPlugin 1.5.2 defect 01/30/11

Found some missing translations in apostropheBlogPlugin


#936 aNavigation/_accordion assigns duplicate ids with nested navigations apostrophePlugin 1.5.2 defect 01/30/11

_accordion.php assigns ids to lists via:

id="a-nav-<?php echo $name ?>-<?php echo $nest ?>"

Thus, every ul at nest level greater than 0 will have the same id (i.e. a navigation of depth >= 2).


#942 PluginaPageTable::getPagesInfo() uses wrong connection if multiple connections are used apostrophePlugin 1.5.2 defect 02/02/11

PluginaPageTable::getPagesInfo() is a static method that executes raw SQL. It just takes the current connection for this. If you use more then one connection in your project, chances are that this is the wrong connection. I have attached a patch.


#968 Problem adding new pages apostrophePlugin 1.5.2 defect 02/18/11

I tried to add a new page but because of the line 1544 in a.js, which is just appending the slug, I have a space in my slug so my form become invalid.

I am using different version of jQuery and it might be a problem with that... A way to fix it is to append .trim() function to ajax response before adding it to the path.

line 1543 to 1546 of a.js: $.get(optionsslugifyUrl?, { slug: $(titleField).val() }, function(data) {

slugField.val(optionsslugStem? + '/' + data.trim()); ajaxDirty = false;

});

I don't see why we can't add it ...


#976 Login prompt can get stuck in a loop of CSRF errors with no visible indication apostrophePlugin 1.5.2 defect 02/28/11

If your session goes stale with our login form open, you wind up in an infinite loop of CSRF errors and can't complete login. The errors are not displayed, either, so you're flailing in the dark. You can get out of the loop by leaving the page and clicking login somewhere else, but you don't know that.

Since the login form requires you to enter your personal username and password (which the phishers don't know) and there is separate CSRF protection for doing stuff once you're in, I think we should remove CSRF protection for the login form.

This is the probable explanation for some user complaints on PO and perhaps other sites.


#979 Email obfuscation broken if the same email address is in two links apostrophePlugin 1.5.2 defect 03/07/11

The current code (intended to keep caching happy) won't let you have two instances of the same email address. This is an issue on FM


#1002 PHPViddler must be upgraded to the 2.0 API apostrophePlugin 1.5.2 defect 03/31/11

We need to upgrade the Viddler API code we're using to support Viddler's v2 API before they close down the v1 API.


#1010 Hidden files in the media section say "office" instead of "file" apostrophePlugin 1.5.2 defect 04/04/11

When you upload and hide a file, it says "this office is private" instead of "this file is private" See the screenshot to compare.

Error: Macro Image(Screen shot 2011-04-04 at 4.00.51 PM.PNG]) failed
Attachment 'ticket:1010: Screen shot 2011-04-04 at 4.00.51 PM.PNG]' does not exist.


#1036 aTools::lock can hang forever apostrophePlugin 1.5.2 defect 05/05/11

aTools::lock will hang forever if the folder it is trying to create the lock file in is not writable. When this happens, the only fix is to kill the Apache process.

aTools::lock should check that it has the ability to write to the folder it wants to create a lock in before busy waiting and throw an exception if it cannot.


#1045 Uploading media files that are too large must provide a better error message apostrophePlugin 1.5.2 defect 05/13/11

PHP looks to 2 settings in php.ini to determine if an uploaded file is too big:

  • upload_max_filesize (no single file can exceed this, defaults to 2MB)
  • post_max_size (no post request can exceed this, even if you're uploading multiple files, defaults to 8MB)

The error currently returned for both of the above cases is: "FILE TOO LARGE. LIMIT IS 8M (or whatever the post_max_size is set to)". This error doesn't make sense if you're trying to upload a file that sits in between these limits, say a pdf that's 2.5MB.

We should be checking the error code in $_FILESuserfile?error? when our POST returns. If the error is UPLOAD_ERR_INI_SIZE, a file is too large.

All error codes can be found here:  http://php.net/manual/en/features.file-upload.errors.php

The error message must be adjusted in modules/aMedia/templates/_uploadMultiple.php


#1059 app.yml setting for specifying the matte color for resized transparent images in the media library apostrophePlugin: Media 1.5.2 defect 05/25/11

Tom,

We should be able to set a hex or rgb value in app.yml for the matte that gets applied to images with transparent backgrounds when they are resized.

It defaults to black and that never makes sense 99% of the time.

I would prefer to specify a safe background color that jives with the site's design, but even setting the default matte color to white is a huge step in the right direction.

This would be useful in many contexts

<img src=" http://fussychild.net/grabs/Screenshot2011-05-25atMay25-2.20.01PM.png" />


#1077 Editors' permissions to unpublish pages still shows up apostrophePlugin defect 06/16/11

If an editor doesn't have permission to add or delete a page, they also don't have permission to publish or unpublish a page. However, the publish/unpublish button still shows up, it just doesn't allow the editor to save the page settings if they have touched the publish button.


#1078 An error message should appear if someone is trying to create a new page that already has the same permalink as an existing page. apostrophePlugin defect 06/16/11

If a user is trying to create a new page, and the title makes a permalink that already exists in the system, the page won't save. The user doesn't have information on why it's not working.


#1088 Validation of sfApplyApplyForm sfDoctrineApplyPlugin 1.5.2 defect 06/29/11

Hi,

I detect a bug in sfForkedDoctrineApplyPlugin which is a fork of sfDoctrineApplyPlugin.

This bug is also in sfDoctrineApplyPlugin. The ticket on github is here:  https://github.com/fizyk/sfForkedDoctrineApplyPlugin/pull/38


#1157 i18n patch apostrophePlugin 1.5.2 defect 09/08/11

i went through the code of apostrophe and ablog plugins and corrected some words that didn't use the i18n function. Also added two options to the sfDoctrineActAsTaggablePlugin so that you can translate 'Add' and 'Add these tags' labels. in aWidgetFormJQueryDate.class.php i did a culture check and added a load javascript file with translations for the datepicker. You need to put a file named jquery.ui.datepicker-'culture'.js into apostrophePlugin/js/plugins/


#1195 Use the cache directory when caching apostrophePlugin 1.5.2 defect 12/05/11

Apostrophe developers have the bad habit of using both the data and uploads folder for file caches. The result is that the caches aren't cleared by the clear cache task or require an explicit hook to be cleared.

Why reinvent the wheel?

I filed this as a defect because clear-cache does not clear all Apostrophe caches (e.g. new image cache).


#1206 Can't delete page in other culture and subnavigation area is empty asandbox 1.5.2 defect 12/13/11

I have downloaded latest sandbox via svn ( http://svn.apostrophenow.org/sandboxes/asandbox/branches/1.5). When i want to delete a page (About or Contacts) in other cultures than english or french, it doesn't work (site reloads and page i was deleting still exists). Also subnavigation area is empty for those cultures (german, spanish, russian). I tried adding my own culture too, but i got same results. I didn't modify sandbox after setup.


#43 Site Snapshot Feature apostrophePlugin 1.6 enhancement 01/27/10

In the admin, there should be the ability to take an entire site-wide snapshot with the click of a button.

"Take Site Snapshot Now."

It freezes a copy of the database in it’s current incarnation, slots, slot history, etc. everything. Not sure how to handle actual files.

Then if a user makes a huge amount of changes to their site, they could take another snapeshot and roll back to a previous site snapshot if needed.

Snapshots should be browse-able in a logged-out only view. They don’t need to log-in to a snapshot, because the point of it is to view content differences, not manage them.

Browsing a snapshot should absolutely should have a url structure that looks like:  http://snapshot11-06-2010.clientsdomain.com/

These subdomains would only be viewable to an admin logged-in.

Browsing to them not logged-in prompts a login.

A global bar sites at the top of the snapshot that says:

Browsing Snapshot 11 January 2010: – Restore Site from this Snapshot – Delete this Snapshot – Download Snapshot to File – Import / Load Snapshot from File – Cancel / Leave


#95 add disallowed_variants option apostrophePlugin 1.6 enhancement 02/16/10

It would be nice if there was the option to also list only the disallowed variants on a particular slot. Shouldn't be too hard by just unsetting these from $variants in aTools.php.

Cheers, Daniel

PS: I think the same concept would also be good for the slot types, e.g. having a disallowed_slot_types option. :)


#113 "Disable history" option for slots and areas Documentation 1.6 enhancement 02/23/10

It should be possible to disable history for a singleton slot or an area via an option in the template or layout.


#138 Concurrency when Editing apostrophePlugin 1.6 enhancement 03/02/10

In the future we should work out a way to put in some Concurrency.

When the 'edit slot' button is clicked, it should pass something to the filter, then other users see that slot is disabled, or a message appears informing them that so-and-so is editing and to be careful. We can decide later if editing should be locked until the save button is clicked, or if it should just do a better job of informing you that both versions are in the history.

The history is going to need to be a little more robust maybe.


#140 Media uploads not meeting the current constraints should be rejected apostrophePlugin: Media 1.5.2 enhancement 03/02/10

If constraints are in place, reject uploads that don't meet them with a clear and compassionate message. Later we'll offer gravity or even real cropping.

The current behavior (we accept it, but you don't see it; there's a message at the top of the page about constraints in general, but it was there before you clicked 'add") is too confusing.

We've seen this problem with client projects.


#202 i18n Polish Documentation 1.5.2 enhancement 03/28/10

So i worked on the polish translation its not 100% compleate but it could be helpfull.

I think i can put here some i18n bugs that i found

data/generator/sfDoctrineModule/aAdmin/templates/_filters.php

line 35 Filter

indexSuccess.php

line 13 Filters and filter data words


#300 Output of apostrophe:deploy should be wrapped in logSection calls apostrophePlugin 1.5.2 enhancement 04/26/10

If you call $this->logSection() from inside a task, it will respect color coding and wrap your messages inside your task namespace. This is good symfony practice and we should be following it with all of our tasks.


#407 Polish translation apostrophePlugin 1.5.2 enhancement 05/28/10

I would like to share our translation file. Now completed in 100%.


#426 New task : Rebuild slugs apostrophePlugin 1.5.2 enhancement 06/03/10

I wrote a new task to address a specific use case : having massively re-organized the website structure prior to public release, I wanted the slugs to reflect that new structure (since no URIs had been made public, there were none to break), so I created a task very similar to the apostrophe:repair-tree task, called apostrophe:rebuild-slugs, which browses the tree and rebuilds the slug paths as it goes.

The code is provided as a patch (see attachment). The paths are relative to the svn.apostrophe.org root. I hope it is adequate, being the first patch I ever made.


#435 aSlideshowSlot - Limit the number of items that can be selected apostrophePlugin 1.5.2 enhancement 06/07/10

If this is an easy thing to impose, it would be nice to have this as a slot option.

a_slot('some-slot', 'aSlideshow', array('maxItems' => 10, 'minItems' => 3));

"I need exactly three images for this thing here, no more no less, make ur time"


#471 Option to get _real_ plaintext aText-Slot apostrophePlugin 1.6 enhancement 07/05/10

See also:  http://groups.google.com/group/apostrophenow/browse_thread/thread/fe08fe759eb7b289

I put something like this in my template:

<h2><?php a_slot('headline', 'aText'); ?></h2>

Why does it end up as <h2><p>the text i entered via editing</p></h2>

And the <p> tag is written to the database. An empty edit field? Ends up as <p></p>.

How do I make aText be *real* plaintext?

As a workaround for now I tried this: <h2><?php a_slot('headline', 'aText', array('allowed-tags' => '<pre>')) ?></h2>

to have <p> removed.

Didn't work.

Versions: symfony -- via svn external from  http://svn.symfony-project.com/branches/1.4 apostrophePlugin - branches/1.4 as well.

Thanks,

-Lukas


#481 Managers should have limited access to reorganize tool apostrophePlugin 1.6 enhancement 07/14/10

Currently managers have no access to the reorganize tool. This makes it difficult to manage a section of a site when there are no easily accessible users with admin privileges. Managers should have a limited view of the reorganize tool, where they can manage the sections they have been granted privileges to.

I've attached an image of what i think the interface might look like when logged in as a manager.


#757 Add BaseaXXX classes for most (all?) apostrophe components apostrophePlugin 1.5.2 enhancement 12/06/10

Many Apostrophe components, such as aHtml, aRouteTools, aString, etc. do not extend BaseaXXX versions of themselves. As these calls are often embedded deep inside of other classes, it is virtually impossible to alter their functionality.

Apostrophe has clearly made an effort to be extensible, this is a small change that would help a lot.


#931 Minification improvements - asset groups, media types [PATCH] apostrophePlugin 1.5.2 enhancement 01/27/11

As originally mentioned on the  Apostrophe Google Group, I have some issues with Apostrophe's minification behavior. The patch itself is simple; however, I felt it required some explanation and justification.

The Issue

The issue with Apostrophe's default minification behavior is that adding a CSS file or JS file to any page triggers a complete regeneration of the minified data. So if I do something like this in a template:

use_javascript('something_tiny.js')

Anyone visiting the page is required to redownload every global JS file as well as something_tiny.js. Same for any page with a slightly different group of assets.

In my opinion, this makes the default minification behavior worse than no minification if you're using even a small number of non-global assets.

The solution

The solution in the attached patch is to define a config value app_a_global_asset_group. If defined to "global", every asset included by aTools will be added with the option data-group="global". As this is valid HTML and provides debugging help, I chose to allow these options to remain set in the generated tags (i.e. link tags will have a data-group attribute), but aHelper could easily unset them if this is undesirable.

Additionally, you now have to specify if you want other assets to be global. So your top level view.yml might now look like this:

  javascripts:
    - foo.js: { data-group: global }
    - site.js: { position: last, data-group: global }

Anything included without a group will function as before. This means that every use_javascript or use_stylesheet call will be included in a minified file separate from the global one.

I think the default behavior in 1.6 should be to have a global_asset_group defined.

Stylesheet Media Types

The patch also includes a way to set the default stylesheet media type via app.yml. I realize AssetHelper uses media type screen by default and Apostrophe matches this, but it's an odd choice and frequently results 2 separate groups, one for "screen" and one for "all."


#973 Consider Rabaix patch providing an alternative to engines apostrophePlugin 1.6 enhancement 02/23/11

 http://trac.apostrophenow.org/changeset/3399

The jury is out on whether this makes sense with engines in the picture or duplicates their functionality. If we used it, it would be a 1.6 kind of thing


#995 Add categories automatically when user clicks new post on the blog page which has a category/categories apostropheBlogPlugin enhancement 03/25/11

If a blog page has a category "news" and editor adds a new post through it, the post doesn't have any categories => the post doesn't show on that page.

I think that this is pretty critical enhancement.


#1110 allowed_classes list in app.yml for richtext editors apostrophePlugin 1.5.2 enhancement 07/25/11

It would be useful to have a set of allowed class names list in app.yml

Similar to how we have allowed_tags, allowed_attributes, allowed_styles

This will help with cleanup of unwanted MSWord styles etc that come through pastes.


#1 Apostrophe is not the #1 Content Management System apostrophePlugin 2.0 task 11/30/09

Apostrophe is not yet the number one Content Management System (CMS). Poor user interfaces, outdated programming paradigms and closed-source code are all commonplace. Many users suffer with CMSes in which everything is a node, whether it needs to be or not. Editing is often performed out of context.


#55 Apply plugin needs updates to be compatible with new Guard plugin, figure out version numbering scheme to facilitate clarity about what works with what sfDoctrineApplyPlugin 1.5.2 defect 02/04/10

 http://forum.symfony-project.org/index.php?t=rview&goto=92774&th=25217


#82 Only Show Relevant Tags in Media Engines apostrophePlugin: Media 1.6 defect 02/11/10

If you limit a Media Engine to certain categories, it should only show tags in the left column that relate to the media you can browse there.

Currently, it is showing you all tags (even if they are not associated with any photo, video, etc in that curated group.)


#87 Stop overriding arg_separator.output, start using the correct one situationally Documentation 1.6 defect 02/12/10

We should systematically use the correct separator in our http_build_query calls depending on whether we're building a link in a tag (&amp;) or a redirect URL (&).

We should do this in the trunk and try to deliver it for 1.1, at which point we should remove the override of arg_separator.output that currently appears in .htaccess in the sandbox.

We should not do this in 1.0 stable because the override is 100% effective (just a little bit non-standards-compliant when it appears in HTML markup) and requires no potentially bug-introducing code changes.


#408 Symfony formats won't work with default Apostrophe's .htaccess file apostrophePlugin 1.5.2 defect 05/28/10

There comes with Apostrophe's sandbox a .htacces file in the web/ directory that uncomments three lines that are commented in Symfony's default .htaccess. Those are lines 23, 24 and 25 in Apostrophe's .htaccess.

  RewriteCond %{REQUEST_URI} \..+$
  RewriteCond %{REQUEST_URI} !\.html$
  RewriteRule .* - [L]

These three lines uncommented makes it impossible to use Symfony formats (ie, URLs ending in .xml or .json), you get a web server's 404 error. Are these uncommented for any specific functionality in Apostrophe? I enclose a patch (please check if its first two lines are OK, it's the first patch I made).


#953 title with accents in image don't work apostrophePlugin: Media 1.5.2 defect 02/09/11

When I upload a photo and add a title to it, it changes the name of the file. If I use a accents in the title, the image can't be finded because the new name.

example: upload a photo and add to title: "Títol" -> the system rename file to títol.original.jpg but the link is:

/uploads/media_items/t%C3%ADtol.original.jpg

and can't find it.

Joan Teixidó


#994 aPageTable::getInfo Integrity constraint violation apostrophePlugin defect 03/22/11

Using:

aPageTable::getInfo(array('id' => XX));

Produces:

Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous

Workaround:

aPageTable::getPagesInfo(array('info' => XX, 'where' => '(p.id = ' . XX . ')'));

Bugfix:

Add table alias to where statement of getInfo function in PluginaPageTable?


#1007 Error with _placeholder in aImageSlot module of plugin apostrophePlugin 1.5.2 defect 04/01/11

If you use the placeholder and options\['width'\] is not set and options\['height'\] either, it errors out because the options\['height'\] setting uses option\s['width­'\] in it's calculation : it is : $height = (($options\['width'\]) ? floor($options\['width'\]*.56):'100px; as $width was calculate prior and is available (and = to options\['width'\] anyway if exists) it should be: $height = $options\['height'\].'px;' : $height = (($width) ? floor($width*.56):'100px;');


#1069 Slug errors hidden on new page form apostrophePlugin 1.5.2 defect 06/07/11

When attempting to create a new page with the same slug as an existing one, the error comes back inside of the hidden page slug div and is thus not seen to the user.


#1106 Cannot reorganize the structure in german localization apostrophePlugin 1.5.2 defect 07/25/11

I downloaded an installed the sandbox, but i cannot reoganize the structure after clicking on "Struktur ändern" the little Windows below remains with that info "Benutze drag und drop um die Struktur der Site zu verändern." but no site structure.

I got a response on that at Google groups from a spanish guy (don't know if he wants me to tell his name) He told me to change the title of the Home page in Page Settings. I did change it fom "Home" to "Homepage" and after that I could change the structure. Many thanx to the spanish guy who helped me out.


#1117 relative @import calls to css are broken apostrophePlugin 1.5.2 defect 07/31/11

It seems that having a

  @import url("external.css");

line in a .less file when minification is not enabled will result in wrong output - the generated .css file in /web/uploads/asset-cache/ will keep the line as is, but the file will not be copied to the asset-cache folder


#224 Variants Javascript apostrophePlugin 1.5.2 enhancement 03/31/10

Tom,

The javascript for variants is very verbose. Let's optimize/abstract this into a single function or class instead of having what we have now echo with every variant menu.

<script type="text/javascript" charset="utf-8">
 $(document).ready(function() {
   <?php // When the link to activate an inactive variant is clicked... ?>
   $('<?php echo "#a-$pageid-$name-$permid-variant-$variant-inactive a" ?>').click(function() {
   <?php // Add the loading class... ?>
   $('<?php echo "#a-$pageid-$name-$permid-variant ul.a-variant-options" ?>').addClass('loading');		
   <?php // Hide the active state of whatever variant was active (by brute force)... ?>			
   $('<?php echo "#a-$pageid-$name-$permid-variant ul.a-variant-options li.active" ?>').hide();
   <?php // Show all the inactive states... ?>
   $('<?php echo "#a-$pageid-$name-$permid-variant ul.a-variant-options li.inactive" ?>').show();
   <?php // And then show the one active state that is newly appropriate ?>
   $('<?php echo "#a-$pageid-$name-$permid-variant-$variant-active" ?>').show();
   <?php // And hide the corresponding inactive state ?>
   $('<?php echo "#a-$pageid-$name-$permid-variant-$variant-inactive" ?>').hide();
});
   $('<?php echo "#a-$pageid-$name-$permid-variant" ?>').children("ul.a-variant-options").hide();
 });
</script>

#756 BaseaSlotComponents should use deep array merge with variants apostrophePlugin 1.5.2 enhancement 12/06/10

When a slot with multi-level options is included with a variant, this can have the side effect of clobbering unrelated options. This can be fixed by calling sfToolkit::arrayDeepMerge instead of array_merge.


#788 Do not md5 LESS stylesheet names apostrophePlugin 1.6 enhancement 12/20/10

This unnecessary obfuscates which CSS file styles are coming from. Instead, I would propose simply appending .css to the end of the file name after it is processed.


#962 [Patch] sfSyncContent prompts for mysql password even when no password is used sfSyncContentPlugin 1.5.2 enhancement 02/14/11

I admit this is bad practice, but a database user does not always require a password. When no password is given, the project:sync-content task stalls because it prompts for a password. This is because the "-p" flag is provided to the mysqldump command regardless of if a password is required. Attached is a possible fix to make this task more robust.


#1055 update a_get_js_calls() for jquery noConflict apostrophePlugin enhancement 05/17/11

It would be nice to wrap the jQuery function inside of a_get_js_calls with the more portable "jQuery" method rather than the shorthand "$". It's just a few more characters and allows developers to use other libraries that use the $-function. jQuery is my favorite but we have some legacy js code that relies on prototype.js, and it'd be nice to be able to use that along side apostrophe.

see:  http://trac.apostrophenow.org/browser/plugins/apostrophePlugin/branches/1.5/lib/helper/aHelper.php#L443

In other words, update...

function a_get_js_calls()
{
  $html = '';
  if (count(aTools::$jsCalls))
  {
    $html .= '<script type="text/javascript" charset="utf-8">' . "\n";
    $html .= '$(function() {' . "\n";
    foreach (aTools::$jsCalls as $call)
    {
      $html .= _a_js_call($call['callable'], $call['args']);
    }
    $html .= '});' . "\n";
    $html .= '</script>' . "\n";
  }
  return $html;
}

with

function a_get_js_calls()
{
  $html = '';
  if (count(aTools::$jsCalls))
  {
    $html .= '<script type="text/javascript" charset="utf-8">' . "\n";
    $html .= '(function($) {' . "\n";
    foreach (aTools::$jsCalls as $call)
    {
      $html .= _a_js_call($call['callable'], $call['args']);
    }
    $html .= '})(jQuery);' . "\n";
    $html .= '</script>' . "\n";
  }
  return $html;
}

The last step then would be to update a.js to pass in the $-function as a parameter.

// a.js
function aConstructor($)
...
window.apostrophe = new aConstructor(jQuery);

With those two changes I'm able to use legacy javascript libraries just fine.


#1089 Unique asset group names & far future expires headers: easy performance gain apostrophePlugin 1.5.2 enhancement 06/30/11

When aHelper combines asset groups, it generates the group file name solely on the names of the included files. As a result, the group name is not a unique with respects to the content of the individual files. In turn, this prevents setting a far future expires header, a Yahoo! best practice for performance  (link).

An easy fix for this is to append the filemtime to the end of the compiled file name, which would make the hash of the group file name unique with respect to content.


#128 Create a 'nuke history' script apostrophePlugin 2.0 task 03/01/10

We should create a command line script that will allow us to nuke the history when we deliver a site to production. In case we've left lorems or anything in the history, we can give clients a clean project.


#23 Media Library Pre-renders some image sizes immediately after upload apostrophePlugin: Media 1.6 enhancement 01/18/10

The media library should at minimim pre-render image previews for the sizes in the media library.

This helps avoid the initial load time.

But expanding upon this idea, I think multiple pre-defined sizes should be rendered to work with the media library enhancements outlined in Ticket #20


Note: See TracReports for help on using and creating reports.