title |
---|
Foundation Change Log |
- Improve extension (with routes) service provider support.
- Utilize
Orchestra\Html\HtmlBuilder::attributable()
helper. - Fixes google fonts to be loaded via HTTPS URL to allow Orchestra Platform to be used either using SSL or without.
- Add
.editorconfig
. - Add assets:
- html5shiv v3.7.3.
- Reworks on backend menu to support generating current active menu.
- Improves views overall implementation, ensure readability is optimized.
- Fixes email address not shown on certain mail transport.
- Update assets:
- Vue v0.12.14.
- Add
Orchestra\Foundation\Console\Commands\OptimizeCommand
. - Wrap
assetic()
method to generate URL usingasset()
. - Fixes password confirmation key used on edit password form.
- Update assets:
- Vue v0.12.13.
- Add
assetic()
helper as an alternative toelixir()
helper. - Detect updated extension when running
orchestra:assemble
command. - Add basic action html template for emails.
- Update assets:
- Vue 0.12.12
- Utilize new
Illuminate\Cache\RateLimiter
on login throttles, require a bump Laravel Framework~5.1.9
. - Allow login key to be customize between application instead of a hardcoded default using
"email"
. - Add
Orchestra\Foundation\Http\Presenters\User::getSortableFields()
to allow filtering which fields can be sorted when displaying users table. - Update assets:
- Vue 0.12.10
- Allow meta
description
andauthor
to be configurable. - Add meta to share CSRF token.
- Move
Orchestra\Foundation\Support\Providers\Traits\RouteProviderTrait
properties to implementing class.
- Dispatch
Orchestra\Foundation\Jobs\RefreshRouteCache
after configuring an extension. - Add
Orchestra\Foundation\Foundation::mode()
to fetch current request mode (e.g: safe or normal). - Allow safe mode to persist between request via
?_mode=safe
http query string. - Use new
Orchestra\Contracts\Extension\StatusChecker
contracts. - Update assets:
- Vue 0.12.8
- Publish extension assets and migrations during
php artisan orchestra:assemble
. - Add
appendTableColumns()
andprependTableColumns()
toOrchestra\Foundation\Http\Presenters\User
. - Tweak
resources/views/components/messages.php
. - Update assets:
- Vue 0.12.6
- Add login throttles using
Orchestra\Foundation\Auth\BasicThrottle
. - Add new assets:
- Font Awesome v4.3.0
- Vue v0.12.4
- Simplify
Orchestra\Foundation\Application
and useDIRECTORY_SEPARATOR
constant. - Use
Orchestra\Http\Traits\PassThroughTrait
inOrchestra\Foundation\Http\Middleware\VerifyCsrfToken
. - Avoid reloading cached routes as application
RouteServiceProvider
should already done this. - Use
Orchestra\Extension\Factory::after()
inOrchestra\Foundation\Support\Providers\Traits\RouteProviderTrait
. - Update assets:
- Javie v2.0.2
- Underscore v1.8.3
- Bootstrap v3.3.5
- Improved performances by reducing call within
Illuminate\Container\Container
. - Utilize
Orchestra\Authorization\Authorization::canIf()
helper. - Simplify
Orchestra\Foundation\Providers\RouteServiceProvider
. - Avoid sending
Orchestra\Foundation\Jobs\RefreshRouteCache
to queue and instead execute it immediately.
- Add support for menu nesting with
Orchestra\Foundation\Support\MenuHandler
.
- Update support to Laravel Framework v5.1.
- Add
Orchestra\Foundation\Console\Commands\AssembleCommand
. - Convert all filter to middleware (include
composer require "orchestra/bequest=~3.0"
if you need to deprecated filter support). - Deprecate
Orchestra\Foundation\Http\Controllers\BaseController::setupFilters()
and add new abstract methodOrchestra\Foundation\Http\Controllers\BaseController::setupMiddleware()
. - Add
Orchestra\Foundation\Jobs\RefreshRouteCache
, allows extension routes to be recached after activation/deactivation. - Remove most of redundant alias which is now registered in the application
app.aliases
config. - Add
Orchestra\Foundation\Providers\RouteServiceProvider
. - Remove FTP updating support (include
composer require "orchestra/ftp-updater=~3.0"
if you need it). - Remove deprecated
Orchestra\Foundation\MenuHandler::get{Name}()
, useOrchestra\Foundation\MenuHandler::get{Name}Attribute()
helper instead.
- Fixes google fonts to be loaded via HTTPS URL to allow Orchestra Platform to be used either using SSL or without.
- Add
.editorconfig
. - Add assets:
- html5shiv v3.7.3.
- Update assets:
- Vue v0.12.14.
- Filter only relevant input fields for
Orchestra\Foundation\Http\Controllers\CredentialController::login()
. - Fixes password confirmation key used on edit password form.
- Tweak validations.
- Update assets:
- Vue v0.12.13.
- Allow meta
description
andauthor
to be configurable. - Add meta to share CSRF token.
- Make it easier to extends user table by extending
Orchestra\Foundation\Http\Presenters\User
. - Move
Orchestra\Foundation\Support\Providers\Traits\RouteProviderTrait
properties to implementing class. - Assets:
- Added Font Awesome v4.3.0
- Update Twitter Bootstrap v3.3.5
- Update Javie v2.0.2
- Update Underscore.js v1.8.3
- Add support for menu nesting with
Orchestra\Foundation\Support\MenuHandler
. - Assets:
- Update Javie v1.3.2.
- Fixes description for
us-west-2
SES region.
- Add option to include page number to
HTML::title()
. - Add support to configure sending mail using Amazon SES API.
- Hide API Secret configuration (act similar to password) for security purpose.
- Improves Setting validations for email password and email secret when relevant.
- Add
@set_meta
and@get_meta
blade helper. - Update views to use new helpers.
- Update
Orchestra\Foundation\Application
to use configurabledatabasePath
andstoragePath
properties. - Add
Orchestra\Foundation\Http\Middleware\LoginAs
.
- Add validation rules for
password
andpassword_confirmation
forOrchestra\Foundation\Validation\Account::onRegister()
, useful when validation user creating when password is available.
- Allow to use available
password
from input when available during user registration instead of always creating random password.
- Allow
#{{ $foo = 'bar' }}
to be translated to<?php $foo = 'bar'; ?>
. - Add missing
Add User
page title. - Tweak JavaScript for Settings page to be loaded from separate partial.
- Move
Orchestra\Foundation\Filters
namespace toOrchestra\Foundation\Http\Filters
namespace. - Move
Orchestra\Foundation\Middleware
namespace toOrchestra\Foundation\Http\Middleware
namespace. - Move
Orchestra\Foundation\Presenter
namespace toOrchestra\Foundation\Http\Presenters
namespace. - Move
Orchestra\Foundation\Routing
namespace toOrchestra\Foundation\Http\Controllers
namespace. - Handle Twitter Bootstrap via Bower.
- Fixes unable to resolve
Illuminate\Contracts\Auth\Authenticatable
through IoC Container when usingphp artisan route:list
.
- Rework
Orchestra\Foundation\Filters\VerifyCsrfToken
to acceptX-CSRF-TOKEN
(raw token) as well asX-XSRF-TOKEN
(encrypted token). - Push foundation menu handlers to
orchestra.started: admin
instead oforchestra.ready: admin
to support Laravel Framework changes to middleware handling in v5.0.6.
- Fixes
Orchestra\Foundation\Support\Providers\RouteServiceProvider
to be able to runsetRootControllerNamespace()
andloadCachedRoutes()
during booting process. - Add
Orchestra\Foundation\Support\Providers\ExtensionRouteServiceProvider
for extensions or modules routing.
- Refactor
Orchestra\Foundation\Support\Providers\RouteServiceProvider::loadFrontendRoutesFrom()
to utilizeOrchestra\Foundation\Foundation::group()
instead ofIlluminate\Routing\Router::group()
. - Add
Orchestra\Foundation\Support\Providers\RouteServiceProvider::afterExtensionLoaded()
helper method.
- Add
Orchestra\Foundation\Support\Providers\RouteServiceProvider
. - Refactor
Orchestra\Foundation\Support\MenuHandler
to be more usable. - Refactor
Orchestra\Foundation\AdminMenuHandler
and split the handling to following classes:Orchestra\Foundation\Http\Handlers\ExtensionMenuHandler
.Orchestra\Foundation\Http\Handlers\ResourcesMenuHandler
.Orchestra\Foundation\Http\Handlers\SettingMenuHandler
.Orchestra\Foundation\Http\Handlers\UserMenuHandler
.
- Update support to Laravel Framework v5.0.
- Simplify PSR-4 path.
- Rename
Orchestra\Foundation\Application
toOrchestra\Foundation\Foundation
. - Add
Orchestra\Foundation\Application
, extendingIlluminate\Foundation\Application
. - Add
Orchestra\Foundation\Providers\ArtisanServiceProvider
. - Add
Orchestra\Foundation\Providers\FilterServiceProvider
. - Rename
Orchestra\Foundation\ConsoleSupportServiceProvider
toOrchestra\Foundation\Providers\ConsoleSupportServiceProvider
. - Rename
Orchestra\Foundation\FoundationServiceProvider
toOrchestra\Foundation\Providers\FoundationServiceProvider
. - Rename
Orchestra\Foundation\SiteServiceProvider
toOrchestra\Foundation\Providers\SupportServiceProvider
. - Convert all closure based filters to classes under
Orchestra\Foundation\Filters
namespace. - Convert all start-up files to classes under
Orchestra\Foundation\Bootstrap
namespace. - Allow
orchestra/foundation
routing to be cached. - Add
Orchestra\Foundation\Traits\AliasesProviderTrait
. - Move password reset code to
orchestra/auth
. - Add
orchestra/kernel
as a dependencies. - Convert all
Orchestra\Foundation\Foundation
services to IoC bindings. - Add
get_meta()
andset_meta()
helper function. - Add
predis/predis
(~1.0) as a dependency. - Assets:
- Update Twitter Bootstrap v3.3.2.
- Update Javie v1.2.0.
- Fixes missing csrf token missmatch checking on delete user request.
- Convert
orchestra.csrf
filter closure toOrchestra\Foundation\Filters\VerifyCsrfToken
. - Attach csrf to addition routes.
- Use timing safe string comparison in CSRF filter.
- Check for session token type.
- Add
orchestra/publisher
as a dependency.
- Update all reference to utilise
orchestra/messages
. - Add
Orchestra\Foundation\Installation\InstallerInterface::bootInstallerFiles()
for future compatibility. - Utilize method chaining when building form and table.
- Improve
bower
usage by includingbower-installer
.
- Deprecate
orchestra.validate: user.registration
event and replace it withorchestra.validate: user.account.register
event. - Include
orchestra/messages
as requirement and add breaking change to type-hintOrchestra\Messages\MessageBag
instead ofOrchestra\Support\Messages
. - Utilize
Illuminate\Support\Arr
. - Update Javie v1.1.6.
- Fixed event names on registration.
- Add new
orchestra.validate: user.registration
event.
- Utilize
orchestra/notifier
newOrchestra\Notifier\Message::create()
helper method. - Allow
Orchestra\Foundation\Application::group()
to mimicRoute::group()
functionality. - Allow default routes to be configurable.
- Fixed error with inline help
<span>
, helper<span>
and errors forselect[role="switcher"]
HTML. - Utilize
orchestra/notifier
newOrchestra\Notifier\Message
class. - Update to Twitter Bootstrap v3.2.0.
- Bump minimum version to PHP v5.4.0.
- Rename Environment to Factory.
- Only implement abstract method
Orchestra\Foundation\Routing\BaseController::setupFilters()
on implementations. - Allow Extension to be optional.
- Increased the CSS width of
th.actions
for properly handling label in different language. - Update to Twitter Bootstrap v3.1.1.
- Open hyperlink to extension author's URL on a new window/tab.
- Allow all type-hinting to resolve to available service locator in Orchestra Platform.
- Improve DI on
Orchestra\Foundation\AdminMenuHandler
. - Eagerly attach
orchestra/memory
during installation. - Provides actual service locator for
Orchestra\Foundation\ConsoleSupportServiceProvider
. - Manage some asset packages using bower.
- Change code to support new
orchestra/publisher
component. - Add support for
orchestra/view
command.
- Fixes missing csrf token missmatch checking on delete user request.
- Convert
orchestra.csrf
filter closure toOrchestra\Foundation\Filters\VerifyCsrfToken
. - Attach csrf to addition routes.
- Use timing safe string comparison in CSRF filter.
- Check for session token type.
- Add
orchestra/publisher
as a dependency.
- Deprecate
orchestra.validate: user.registration
event and replace it withorchestra.validate: user.account.register
event. - Update Javie v1.1.6.
- Fixed event names on registration.
- Add new
orchestra.validate: user.registration
event.
- Allow
Orchestra\Foundation\Application::group()
to mimicRoute::group()
functionality. - Allow default routes to be configurable.
- Fixed error with inline help
<span>
, helper<span>
and errors forselect[role="switcher"]
HTML. - Update to Twitter Bootstrap v3.2.0.
- Manage some asset packages using bower.
- Change code to support new
orchestra/publisher
component. - Add support for
orchestra/view
command.
- Fixes test case involving exception return when URL matched a different verb.
- Add breaking backward compatibility by changing the parameter on
Orchestra\Foundation\Processor\User::index()
to allow better customizations.
- Implement PSR-4 autoloading structure.
- Allow Extension to be optional.
- Increased the CSS width of
th.actions
for properly handling label in different language. - Update to Twitter Bootstrap v3.1.1.
- Add backward compatibility to
v2.0
password reset routing (allowv2.0
based theme to work onv2.1
). - Minor tweaks to routing to improve consistency.
- Show database connection issues (if any) during installation process.
- Simplify roles detection using
Orchestra\Model\User::getRoles()
. - Update to Twitter Bootstrap v3.1.0.
- Open hyperlink to extension author's URL on a new window/tab.
- Allow all type-hinting to resolve to available service locator in Orchestra Platform.
- Improve DI on
Orchestra\Foundation\AdminMenuHandler
. - Eagerly attach
orchestra/memory
during installation. - Multiple refactor.
- Handle
orchestra/memory
onorchestra.mail
service locator fromorchestra/foundation
.
- Fixes missing select2 on search user filter.
- Provides actual service locator for
Orchestra\Foundation\ConsoleSupportServiceProvider
.
- Split
Orchestra\Foundation\Services\AdminMenuHandler@handle
to allow easier customization. - Implement
"orchestra.validate: extension.{name}"
andOrchestra\Services\Validation\Extension
. - Add
@placeholder("orchestra.resources: {name}")
. - Add data-id attributes to edit and delete link on users page.
- Allow guest user to access resources if ACL permit.
- Allow
Orchestra\Foundation\Services\UserMetaRepository
to look for data from eloquent before resolving to default. - Rename
Orchestra\Foundation\Site::localtime()
toOrchestra\Foundation\Site::toLocalTime()
. - Add
Orchestra\Foundation\Site::fromLocalTime()
to convert time from local to what set in"app.timezone"
config. - Add
Orchestra\Foundation\Application::locate()
to return relative path to packages/app. - Add client-side JavaScript event on each page load.
- Add safe mode notification when running from safe mode.
- Replace deprecated call to
Orchestra\Extension::isActive()
and instead useOrchestra\Extension::activated()
. Replace call tohandles('orchestra/foundation::*')
tohandles('orchestra::*')
. - Add italian translation.
- Convert prefered function to use
Orchestra\Auth\Acl\Fluent::attach()
instead ofOrchestra\Auth\Acl\Fluent::fill()
. - Improve user searching with new
Orchestra\Support\Str::searchable()
API. - Refactor presenters to use app container to allow IoC overwrite from application.
- Allow cancelling SMTP e-mail password after change password is clicked.
- Allow Orchestra Platform route to make use of latest
Orchestra\Extension\RouteGenerator
feature allowing subdomain handling. - Predefined package path to avoid additional overhead to guest package path.
- Only display resources in navigation menus if not hidden.
- Consolidate all commands service provider in
Orchestra\Foundation\ConsoleSupportServiceProvider
. - Refactor
Orchestra\Foundation\Reminders\PasswordBroker
andOrchestra\Foundation\Routing\ForgotController
based on Laravel 4.1 changes. - Refactor routing as passive controllers and move all CRUD action to
Orchestra\Foundation\Processor
namespace. - Move
Orchestra\Foundation\UserMetaRepository
andOrchestra\Foundation\UserMetaProvider
to orchestra/model. - Add components:
orchestra/debug
for profiling your Orchestra Platform application.orchestra/optimize
to run autoloading optimization.orchestra/notifier
to send e-mail notification per user.
- Update assets:
- Twitter Bootstrap v3.0.3
- Javie JavaScript Library v1.1.2
- Remove invalid/irrelevant filters.
- Update assets:
- Twitter Bootstrap v3.0.3
- Automatically login the user after resetting the password.
- Refactor call to
Orchestra\Extension\RouteGenerator
based on changes to orchestra/extension component. - Completely remove
Orchestra\Foundation\Services
namespace. - Move welcome message to
orchestra/foundation::dashboard._welcome
partial. - Add components:
orchestra/optimize
orchestra/debug
- Update assets:
- Twitter Bootstrap v3.0.2
- Fixed
Javie.Events
usage on triggering switcher event. - Manage Twitter Bootstrap using Composer.
- Implement PSR-2 coding standard.
- Add
orchestra/foundation::layout.extra
layout view, to be used for registration, login and forgot password interface. - Cast possible integer to string on return
ID
fromUser
model. - Improved pagination support by allowing
$perPage
value to be configurable from the model. - Use explicit Route method instead of
Route::controller()
to increase route resolving performance. - Move both presenter and validator instance dependencies inject to Controller construct method.
- Move
Orchestra\Model
to it's own repository, this would allow it to be used with orchestra/auth on project without Orchestra Platform. - Multiple namespace refactors.
- Allow Orchestra Platform route to make use of latest
Orchestra\Extension\RequestGenerator
feature allowing subdomain handling. - Fixed
Orchestra\Mail
using queues doesn't respect configuration fromOrchestra\Memory
. - Update certain form missing
Input::old()
and->withInput()
on failed form transaction. - Multiple code refactors.
- Update assets:
- underscore.js v1.5.2
- jQuery v1.10.2
- Modernizr v2.6.2
- jQuery UI v1.10.3
- Select2 v3.4.3
- Re-enable reset password e-mail to be sent using configurable e-mail dispatcher (either direct send or queue).
- Allow customization redirection from logout request.
- Multiple tweaks to CSS.
- Mail configuration are now loaded from the database after installation. This would allow developer to use either
Mail
orOrchestra\Mail
using the same set of configuration out of the box. - Allow cancelling SMTP e-mail password after change password is clicked.
- Re-organize
Orchestra\Foundation\Services\Event\AdminMenuHandler
. - Add missing successful reset password message.
- Refactor presenters to use app container to allow IoC overwrite from application.
- Rework on
Orchestra\Foundation\Mail
to handle inconsistency using bothMail::queue()
andMail::send()
, add newOrchestra\Mail::push()
option to allow sending based on configuration. - Both
Orchestra\Mail::send()
andOrchestra\Mail::queue()
work as you would usingMail
equivalent. - Refactor
Orchestra\Foundation\Reminders\PasswordBroker
to force send email directly even if queue is enabled. This is a limitation withIlluminate\Support\SerializeClosure
that does support use () to include Closure. - Fixed messages when registration email is sent using queue, instead of showing failed to send.
- Improve user searching with new
Orchestra\Support\Str::searchable()
API.
- Add
orchestra/translation
. - Improved asset management especially for Twitter Bootstrap.
- Deprecate and remove
subMenu
usage of Navbar Decorator. - Fixed request to
jquery.min.map
cause 500 errors. - Separate large view into partial especially on
extensions
andresources
route for easier theming. - Fixed some regression bug.
- Update to Twitter Bootstrap v3.0.0.
- Slightly improved Navbar Decorator.
- Add padding to
.navbar a-navbar.brand
CSS. - Update Bootstrap 3.0-RC2.
Orchestra\Foundation\Reminders\PasswordBroker
should extendsIlluminate\Auth\Reminders\PasswordBroker
.- Fixed CSS styling based on Bootstrap 3-RC2 changes.
- Fixed inconsistent form styling on reset password page.
- Update Twitter Bootstrap 3.
- Change footer to show "Powered by Orchestra Platform" instead of a copyright.
- Tweak installation message on Auth usage.
- Convert prefered function to use
Orchestra\Auth\Acl\Fluent::attach()
instead ofOrchestra\Auth\Acl\Fluent::fill()
.
- Replace deprecated call to
Orchestra\Extension::isActive()
and instead useOrchestra\Extension::activated()
. - Replace call to
handles('orchestra/foundation::*')
tohandles('orchestra::*')
. - Small improvement to migration process during installation.
- Add italian translation.
- Revert alias and provides in
Orchestra\Foundation\Services\TestCase
. - Add
Orchestra\Foundation\Services\ApplicationTestCase
. - Add testcase for
Orchestra\Foundation\Routing\CredentialController
. - Fixed CSS issue on create/update User using Select2.
- Update to Twitter Bootstrap 3.0.0-RC1.
- Clean-up CSS, JavaScript as well as HTML to match Bootstrap 3.
- Fixed typo to
Orchestra\Extension::isActive()
. - Add safe mode notification when running from safe mode.
- Docblock improvement.
- Update Bootstrap 3.
- Remove requirement to use
Illuminate\Support\Fluent
onOrchestra\Foundation\Services\Validation\UserAccount
. - Add client-side JavaScript event on each page load.
- Code improvements.
- Fixed
mkdir(): Permission denied
while uploading extension asset using FTP Publisher.
- Rename
Orchestra\Foundation\Site::localtime()
toOrchestra\Foundation\Site::toLocalTime()
. - Fixed date is not appended when attaching role to a user, add
withTimestamps()
options to bothOrchestra\Model\User
andOrchestra\Model\Role
. - Add
Orchestra\Foundation\Site::fromLocalTime()
to convert time from local to what set in"app.timezone"
config. - Add
Orchestra\Foundation\Application::locate()
to return relative path to packages/app.
- Optimize use of
orchestra/foundation::layout.widgets.header
view. - Create table and form view for
Orchestra\Html\Table
andOrchestra\Html\Form
. - Update Bootstrap 3 files.
- Allow
Orchestra\Foundation\Services\UserMetaRepository
to look for data from eloquent before resolving to default. - Fixed a bug where no roles is assigned to registered user.
- Improved the base grid system to be more readable.
- Multiple bugfixes to the UX and CSS.
- Tweak Resources menu to be not shown when all resources are hidden.
- Fixed unable to use Publisher FTP since
Illuminate\Filesystem\Filesystem::makeDirectory()
throws PHP error when creating directory failed.
- Move
Orchestra\Services
toOrchestra\Foundation\Services
. - Move
Orchestra\Routing
toOrchestra\Foundation\Routing
. - All classes are mapped using PSR-0.
- Improved default theme.
- Fixed CSS styling on FTP publisher page.
- Allow guest user to access resources if ACL permit.
- Fixed CSS on User search form.
- Add
@placeholder("orchestra.resources: {name}")
. - Add data-id attributes to edit and delete link on users page.
- Fixed unable to use
"orchestra.saving: extension.{name}"
event. - Implement
"orchestra.validate: extension.{name}"
andOrchestra\Services\Validation\Extension
. - Fixed regression bug with new implementation on
Orchestra\Support\Validator
.
- Tweak Users search form CSS to match Bootstrap 3.
- Fixed a bug where Extension's handles configuration is not accessible.
- Migrate
Orchestra\Foundation
from Orchestra Platform 1.2. - Convert
Orchestra\Core
toOrchestra\App
. - Add
Orchestra\App::handle()
to emulate(:bundle)
routing structure in Laravel 3. - Deprecate and remove
Orchestra
, alias toOrchestra\App
, instead introduceorchestra()
helper function as a replacement. - Validations now using services, based on
Orchestra\Support\Validator
. - Menu are now using
Orchestra\Services\Event\AdminMenuHandler
. Orchestra\Mail
are now utilising Laravel 4Mail
class,Orchestra\Mail::send()
would choose either to use basic send or queue based on Orchestra Platform setting.- Fixes bad references to
Orchestra\Support\Str
onOrchestra\Routing\ForgotController
andOrchestra\Routing\RegisterController
. - Update to Twitter Bootstrap 3.
- Replace current implementation for reset password with Laravel 4, with some goodies from Orchestra Platform.
- Remove
Form::token()
as it's automatically added byForm::open()
. - Add support to use
sendmail
as e-mail transport. - Reduce usage of Blade syntax, since
{
and}
can be customised by the user Orchestra Platform shouldn't depend on it. - Fixed invalid generated URL to delete users.
- Add
Orchestra\Testbench
package to help unit testing controllers. - Allow
handles('orchestra::/')
to aliashandles('orchestra/foundation::/')
. - Add
resources('foo')
to aliashandles('orchestra/foundation::resources/foo')
.