\relax 
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\select@language{english}
\@writefile{toc}{\select@language{english}}
\@writefile{lof}{\select@language{english}}
\@writefile{lot}{\select@language{english}}
\newlabel{index::doc}{{}{1}{\relax }{section*.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{intro:introduction}{{1}{1}{Introduction\relax }{chapter.1}{}}
\newlabel{intro::doc}{{1}{1}{Introduction\relax }{chapter.1}{}}
\newlabel{intro:fantastico-framework}{{1}{1}{Introduction\relax }{chapter.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Why another python framework?}{1}{section.1.1}}
\newlabel{intro:why-another-python-framework}{{1.1}{1}{Why another python framework?\relax }{section.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}What do you want to teach who?}{1}{subsection.1.1.1}}
\newlabel{intro:what-do-you-want-to-teach-who}{{1.1.1}{1}{What do you want to teach who?\relax }{subsection.1.1.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Fantastico's initial ideas}{1}{section.1.2}}
\newlabel{intro:fantastico-s-initial-ideas}{{1.2}{1}{Fantastico's initial ideas\relax }{section.1.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Getting started}{3}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{get_started/getting_started:getting-started}{{2}{3}{Getting started\relax }{chapter.2}{}}
\newlabel{get_started/getting_started::doc}{{2}{3}{Getting started\relax }{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Installation manual}{3}{section.2.1}}
\newlabel{get_started/installation:installation-manual}{{2.1}{3}{Installation manual\relax }{section.2.1}{}}
\newlabel{get_started/installation::doc}{{2.1}{3}{Installation manual\relax }{section.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Developing a new fantastico project}{3}{subsection.2.1.1}}
\newlabel{get_started/installation:developing-a-new-fantastico-project}{{2.1.1}{3}{Developing a new fantastico project\relax }{subsection.2.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Contributing to fantastico framework}{3}{subsection.2.1.2}}
\newlabel{get_started/installation:contributing-to-fantastico-framework}{{2.1.2}{3}{Contributing to fantastico framework\relax }{subsection.2.1.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Fantastico settings}{4}{section.2.2}}
\newlabel{get_started/settings:fantastico-settings}{{2.2}{4}{Fantastico settings\relax }{section.2.2}{}}
\newlabel{get_started/settings::doc}{{2.2}{4}{Fantastico settings\relax }{section.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Settings API}{4}{subsection.2.2.1}}
\newlabel{get_started/settings:settings-api}{{2.2.1}{4}{Settings API\relax }{subsection.2.2.1}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings}{{2.2.1}{4}{Settings API\relax }{section*.3}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.database_config}{{2.2.1}{4}{Settings API\relax }{section*.4}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.dev_server_host}{{2.2.1}{5}{Settings API\relax }{section*.5}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.dev_server_port}{{2.2.1}{5}{Settings API\relax }{section*.6}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.doc_base}{{2.2.1}{5}{Settings API\relax }{section*.7}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.installed_middleware}{{2.2.1}{5}{Settings API\relax }{section*.8}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.routes_loaders}{{2.2.1}{5}{Settings API\relax }{section*.9}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.supported_languages}{{2.2.1}{5}{Settings API\relax }{section*.10}{}}
\newlabel{get_started/settings:fantastico.settings.BasicSettings.templates_config}{{2.2.1}{5}{Settings API\relax }{section*.11}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Create Dev configuration}{5}{subsection.2.2.2}}
\newlabel{get_started/settings:create-dev-configuration}{{2.2.2}{5}{Create Dev configuration\relax }{subsection.2.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}Using a specifc configuration}{5}{subsection.2.2.3}}
\newlabel{get_started/settings:using-a-specifc-configuration}{{2.2.3}{5}{Using a specifc configuration\relax }{subsection.2.2.3}{}}
\newlabel{get_started/settings:fantastico.settings.SettingsFacade}{{2.2.3}{5}{Using a specifc configuration\relax }{section*.12}{}}
\newlabel{get_started/settings:fantastico.settings.SettingsFacade.get}{{2.2.3}{5}{Using a specifc configuration\relax }{section*.13}{}}
\newlabel{get_started/settings:fantastico.settings.SettingsFacade.get_config}{{2.2.3}{6}{Using a specifc configuration\relax }{section*.14}{}}
\newlabel{get_started/settings:fantastico.settings.SettingsFacade.get_root_folder}{{2.2.3}{6}{Using a specifc configuration\relax }{section*.15}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Contribute}{6}{section.2.3}}
\newlabel{get_started/contribute:contribute}{{2.3}{6}{Contribute\relax }{section.2.3}{}}
\newlabel{get_started/contribute::doc}{{2.3}{6}{Contribute\relax }{section.2.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Code contribution}{6}{subsection.2.3.1}}
\newlabel{get_started/contribute:code-contribution}{{2.3.1}{6}{Code contribution\relax }{subsection.2.3.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Writing unit tests}{7}{subsubsection*.16}}
\newlabel{get_started/contribute:writing-unit-tests}{{2.3.1}{7}{Writing unit tests\relax }{subsubsection*.16}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoUnitTestsCase}{{2.3.1}{7}{Writing unit tests\relax }{section*.17}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoUnitTestsCase._get_class_root_folder}{{2.3.1}{7}{Writing unit tests\relax }{section*.18}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoUnitTestsCase._get_root_folder}{{2.3.1}{7}{Writing unit tests\relax }{section*.19}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoUnitTestsCase.check_original_methods}{{2.3.1}{7}{Writing unit tests\relax }{section*.20}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoUnitTestsCase.setup_once}{{2.3.1}{7}{Writing unit tests\relax }{section*.21}{}}
\@writefile{toc}{\contentsline {subsubsection}{Writing integration tests}{7}{subsubsection*.22}}
\newlabel{get_started/contribute:writing-integration-tests}{{2.3.1}{7}{Writing integration tests\relax }{subsubsection*.22}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase}{{2.3.1}{7}{Writing integration tests\relax }{section*.23}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase._envs}{{2.3.1}{7}{Writing integration tests\relax }{section*.24}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase._restore_call_methods}{{2.3.1}{7}{Writing integration tests\relax }{section*.25}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase._run_test_all_envs}{{2.3.1}{7}{Writing integration tests\relax }{section*.26}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase._save_call_methods}{{2.3.1}{8}{Writing integration tests\relax }{section*.27}{}}
\newlabel{get_started/contribute:fantastico.tests.base_case.FantasticoIntegrationTestCase.fantastico_cfg_os_key}{{2.3.1}{8}{Writing integration tests\relax }{section*.28}{}}
\newlabel{get_started/contribute:fantastico.server.tests.itest_dev_server.DevServerIntegration}{{2.3.1}{8}{Writing integration tests\relax }{section*.29}{}}
\newlabel{get_started/contribute:fantastico.server.tests.itest_dev_server.DevServerIntegration._check_server_started}{{2.3.1}{8}{Writing integration tests\relax }{section*.30}{}}
\newlabel{get_started/contribute:fantastico.server.tests.itest_dev_server.DevServerIntegration._get_server_base_url}{{2.3.1}{8}{Writing integration tests\relax }{section*.31}{}}
\newlabel{get_started/contribute:fantastico.server.tests.itest_dev_server.DevServerIntegration._run_test_against_dev_server}{{2.3.1}{8}{Writing integration tests\relax }{section*.32}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Development mode}{8}{section.2.4}}
\newlabel{get_started/dev_mode::doc}{{2.4}{8}{Development mode\relax }{section.2.4}{}}
\newlabel{get_started/dev_mode:development-mode}{{2.4}{8}{Development mode\relax }{section.2.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Hot deploy}{9}{subsection.2.4.1}}
\newlabel{get_started/dev_mode:hot-deploy}{{2.4.1}{9}{Hot deploy\relax }{subsection.2.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}API}{9}{subsection.2.4.2}}
\newlabel{get_started/dev_mode:api}{{2.4.2}{9}{API\relax }{subsection.2.4.2}{}}
\newlabel{get_started/dev_mode:fantastico.server.dev_server.DevServer}{{2.4.2}{9}{API\relax }{section*.33}{}}
\newlabel{get_started/dev_mode:fantastico.server.dev_server.DevServer.start}{{2.4.2}{9}{API\relax }{section*.34}{}}
\newlabel{get_started/dev_mode:fantastico.server.dev_server.DevServer.started}{{2.4.2}{9}{API\relax }{section*.35}{}}
\newlabel{get_started/dev_mode:fantastico.server.dev_server.DevServer.stop}{{2.4.2}{9}{API\relax }{section*.36}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Database config}{9}{subsection.2.4.3}}
\newlabel{get_started/dev_mode:database-config}{{2.4.3}{9}{Database config\relax }{subsection.2.4.3}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Fantastico features}{11}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{features/features::doc}{{3}{11}{Fantastico features\relax }{chapter.3}{}}
\newlabel{features/features:fantastico-features}{{3}{11}{Fantastico features\relax }{chapter.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Exceptions hierarchy}{11}{section.3.1}}
\newlabel{features/exceptions:exceptions-hierarchy}{{3.1}{11}{Exceptions hierarchy\relax }{section.3.1}{}}
\newlabel{features/exceptions::doc}{{3.1}{11}{Exceptions hierarchy\relax }{section.3.1}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.37}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoControllerInvalidError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.38}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoClassNotFoundError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.39}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoNotSupportedError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.40}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoSettingNotFoundError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.41}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoDuplicateRouteError}{{3.1}{11}{Exceptions hierarchy\relax }{section*.42}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoNoRoutesError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.43}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoRouteNotFoundError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.44}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoNoRequestError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.45}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoContentTypeError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.46}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoHttpVerbNotSupported}{{3.1}{12}{Exceptions hierarchy\relax }{section*.47}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoHttpVerbNotSupported.http_verb}{{3.1}{12}{Exceptions hierarchy\relax }{section*.48}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoTemplateNotFoundError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.49}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoIncompatibleClassError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.50}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoDbError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.51}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoDbNotFoundError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.52}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoInsufficientArgumentsError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.53}{}}
\newlabel{features/exceptions:fantastico.exceptions.FantasticoUrlInvokerError}{{3.1}{12}{Exceptions hierarchy\relax }{section*.54}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Request lifecycle}{12}{section.3.2}}
\newlabel{features/request_response:request-lifecycle}{{3.2}{12}{Request lifecycle\relax }{section.3.2}{}}
\newlabel{features/request_response::doc}{{3.2}{12}{Request lifecycle\relax }{section.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Request middleware}{13}{subsection.3.2.1}}
\newlabel{features/request_response:request-middleware}{{3.2.1}{13}{Request middleware\relax }{subsection.3.2.1}{}}
\newlabel{features/request_response:fantastico.middleware.request_middleware.RequestMiddleware}{{3.2.1}{13}{Request middleware\relax }{section*.55}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Request context}{13}{subsection.3.2.2}}
\newlabel{features/request_response:request-context}{{3.2.2}{13}{Request context\relax }{subsection.3.2.2}{}}
\newlabel{features/request_response:fantastico.middleware.request_context.RequestContext}{{3.2.2}{13}{Request context\relax }{section*.56}{}}
\newlabel{features/request_response:fantastico.middleware.request_context.RequestContext.language}{{3.2.2}{13}{Request context\relax }{section*.57}{}}
\newlabel{features/request_response:fantastico.middleware.request_context.RequestContext.settings}{{3.2.2}{13}{Request context\relax }{section*.58}{}}
\newlabel{features/request_response:fantastico.middleware.request_context.RequestContext.wsgi_app}{{3.2.2}{14}{Request context\relax }{section*.59}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Obtain request language}{14}{subsection.3.2.3}}
\newlabel{features/request_response:obtain-request-language}{{3.2.3}{14}{Obtain request language\relax }{subsection.3.2.3}{}}
\newlabel{features/request_response:fantastico.locale.language.Language}{{3.2.3}{14}{Obtain request language\relax }{section*.60}{}}
\newlabel{features/request_response:fantastico.locale.language.Language.code}{{3.2.3}{14}{Obtain request language\relax }{section*.61}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Obtain settings using request}{14}{subsection.3.2.4}}
\newlabel{features/request_response:obtain-settings-using-request}{{3.2.4}{14}{Obtain settings using request\relax }{subsection.3.2.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Redirect using request}{14}{subsection.3.2.5}}
\newlabel{features/request_response:redirect-using-request}{{3.2.5}{14}{Redirect using request\relax }{subsection.3.2.5}{}}
\newlabel{features/request_response:fantastico.routing_engine.custom_responses.RedirectResponse}{{3.2.5}{14}{Redirect using request\relax }{section*.62}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Routing engine}{15}{section.3.3}}
\newlabel{features/routing_engine:routing-engine}{{3.3}{15}{Routing engine\relax }{section.3.3}{}}
\newlabel{features/routing_engine::doc}{{3.3}{15}{Routing engine\relax }{section.3.3}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.router.Router}{{3.3}{15}{Routing engine\relax }{section*.63}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.router.Router.get_loaders}{{3.3}{15}{Routing engine\relax }{section*.64}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.router.Router.handle_route}{{3.3}{15}{Routing engine\relax }{section*.65}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.router.Router.register_routes}{{3.3}{15}{Routing engine\relax }{section*.66}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Routes loaders}{16}{subsection.3.3.1}}
\newlabel{features/routing_engine:routes-loaders}{{3.3.1}{16}{Routes loaders\relax }{subsection.3.3.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}How to write a new route loader}{16}{subsection.3.3.2}}
\newlabel{features/routing_engine:how-to-write-a-new-route-loader}{{3.3.2}{16}{How to write a new route loader\relax }{subsection.3.3.2}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.routing_loaders.RouteLoader}{{3.3.2}{16}{How to write a new route loader\relax }{section*.67}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.routing_loaders.RouteLoader.load_routes}{{3.3.2}{16}{How to write a new route loader\relax }{section*.68}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Configuring available loaders}{16}{subsection.3.3.3}}
\newlabel{features/routing_engine:configuring-available-loaders}{{3.3.3}{16}{Configuring available loaders\relax }{subsection.3.3.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}DummyRouteLoader}{17}{subsection.3.3.4}}
\newlabel{features/routing_engine:dummyrouteloader}{{3.3.4}{17}{DummyRouteLoader\relax }{subsection.3.3.4}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.dummy_routeloader.DummyRouteLoader}{{3.3.4}{17}{DummyRouteLoader\relax }{section*.69}{}}
\newlabel{features/routing_engine:fantastico.routing_engine.dummy_routeloader.DummyRouteLoader.display_test}{{3.3.4}{17}{DummyRouteLoader\relax }{section*.70}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.5}Routing middleware}{17}{subsection.3.3.5}}
\newlabel{features/routing_engine:routing-middleware}{{3.3.5}{17}{Routing middleware\relax }{subsection.3.3.5}{}}
\newlabel{features/routing_engine:fantastico.middleware.routing_middleware.RoutingMiddleware}{{3.3.5}{17}{Routing middleware\relax }{section*.71}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Model View Controller}{17}{section.3.4}}
\newlabel{features/mvc:model-view-controller}{{3.4}{17}{Model View Controller\relax }{section.3.4}{}}
\newlabel{features/mvc::doc}{{3.4}{17}{Model View Controller\relax }{section.3.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}Classic approach}{17}{subsection.3.4.1}}
\newlabel{features/mvc:classic-approach}{{3.4.1}{17}{Classic approach\relax }{subsection.3.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}Fantastico approach}{18}{subsection.3.4.2}}
\newlabel{features/mvc:fantastico-approach}{{3.4.2}{18}{Fantastico approach\relax }{subsection.3.4.2}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller}{{3.4.2}{18}{Fantastico approach\relax }{section*.72}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.fn_handler}{{3.4.2}{19}{Fantastico approach\relax }{section*.73}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.get_registered_routes}{{3.4.2}{19}{Fantastico approach\relax }{section*.74}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.method}{{3.4.2}{19}{Fantastico approach\relax }{section*.75}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.models}{{3.4.2}{19}{Fantastico approach\relax }{section*.76}{}}
\newlabel{features/mvc:fantastico.mvc.controller_decorators.Controller.url}{{3.4.2}{19}{Fantastico approach\relax }{section*.77}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}Model}{19}{subsection.3.4.3}}
\newlabel{features/mvc:model}{{3.4.3}{19}{Model\relax }{subsection.3.4.3}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade}{{3.4.3}{20}{Model\relax }{section*.78}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.count_records}{{3.4.3}{20}{Model\relax }{section*.79}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.create}{{3.4.3}{20}{Model\relax }{section*.80}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.delete}{{3.4.3}{20}{Model\relax }{section*.81}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.find_by_pk}{{3.4.3}{21}{Model\relax }{section*.82}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.get_records_paged}{{3.4.3}{21}{Model\relax }{section*.83}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.model_cls}{{3.4.3}{22}{Model\relax }{section*.84}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.new_model}{{3.4.3}{22}{Model\relax }{section*.85}{}}
\newlabel{features/mvc:fantastico.mvc.model_facade.ModelFacade.update}{{3.4.3}{22}{Model\relax }{section*.86}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.4}View}{23}{subsection.3.4.4}}
\newlabel{features/mvc:view}{{3.4.4}{23}{View\relax }{subsection.3.4.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.5}Controller}{23}{subsection.3.4.5}}
\newlabel{features/mvc:controller}{{3.4.5}{23}{Controller\relax }{subsection.3.4.5}{}}
\newlabel{features/mvc:core-controller-section}{{3.4.5}{23}{Controller\relax }{subsection.3.4.5}{}}
\newlabel{features/mvc:fantastico.mvc.controller_registrator.ControllerRouteLoader}{{3.4.5}{23}{Controller\relax }{section*.87}{}}
\newlabel{features/mvc:fantastico.mvc.controller_registrator.ControllerRouteLoader.load_routes}{{3.4.5}{23}{Controller\relax }{section*.88}{}}
\newlabel{features/mvc:fantastico.mvc.controller_registrator.ControllerRouteLoader.scanned_folder}{{3.4.5}{23}{Controller\relax }{section*.89}{}}
\newlabel{features/mvc:fantastico.mvc.base_controller.BaseController}{{3.4.5}{23}{Controller\relax }{section*.90}{}}
\newlabel{features/mvc:fantastico.mvc.base_controller.BaseController.curr_request}{{3.4.5}{23}{Controller\relax }{section*.91}{}}
\newlabel{features/mvc:fantastico.mvc.base_controller.BaseController.get_component_folder}{{3.4.5}{23}{Controller\relax }{section*.92}{}}
\newlabel{features/mvc:fantastico.mvc.base_controller.BaseController.load_template}{{3.4.5}{24}{Controller\relax }{section*.93}{}}
\@writefile{toc}{\contentsline {subsubsection}{Available filters}{24}{subsubsection*.94}}
\newlabel{features/mvc:available-filters}{{3.4.5}{24}{Available filters\relax }{subsubsection*.94}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilterAbstract}{{3.4.5}{24}{Available filters\relax }{section*.95}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilterAbstract.build}{{3.4.5}{24}{Available filters\relax }{section*.96}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilterAbstract.get_expression}{{3.4.5}{24}{Available filters\relax }{section*.97}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterCompound}{{3.4.5}{24}{Available filters\relax }{section*.98}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterCompound.build}{{3.4.5}{24}{Available filters\relax }{section*.99}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterCompound.get_expression}{{3.4.5}{24}{Available filters\relax }{section*.100}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter}{{3.4.5}{24}{Available filters\relax }{section*.101}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.build}{{3.4.5}{25}{Available filters\relax }{section*.102}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.column}{{3.4.5}{25}{Available filters\relax }{section*.103}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.get_expression}{{3.4.5}{25}{Available filters\relax }{section*.104}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.get_supported_operations}{{3.4.5}{25}{Available filters\relax }{section*.105}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.operation}{{3.4.5}{25}{Available filters\relax }{section*.106}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter.ModelFilter.ref_value}{{3.4.5}{25}{Available filters\relax }{section*.107}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterAnd}{{3.4.5}{25}{Available filters\relax }{section*.108}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_filter_compound.ModelFilterOr}{{3.4.5}{25}{Available filters\relax }{section*.109}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort}{{3.4.5}{25}{Available filters\relax }{section*.110}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.build}{{3.4.5}{26}{Available filters\relax }{section*.111}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.column}{{3.4.5}{26}{Available filters\relax }{section*.112}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.get_expression}{{3.4.5}{26}{Available filters\relax }{section*.113}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.get_supported_sort_dirs}{{3.4.5}{26}{Available filters\relax }{section*.114}{}}
\newlabel{features/mvc:fantastico.mvc.models.model_sort.ModelSort.sort_dir}{{3.4.5}{26}{Available filters\relax }{section*.115}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.6}Database session management}{26}{subsection.3.4.6}}
\newlabel{features/mvc:database-session-management}{{3.4.6}{26}{Database session management\relax }{subsection.3.4.6}{}}
\newlabel{features/mvc:fantastico.middleware.model_session_middleware.ModelSessionMiddleware}{{3.4.6}{26}{Database session management\relax }{section*.116}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.5}SDK}{26}{section.3.5}}
\newlabel{features/sdk::doc}{{3.5}{26}{SDK\relax }{section.3.5}{}}
\newlabel{features/sdk:sdk}{{3.5}{26}{SDK\relax }{section.3.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}Intro}{26}{subsection.3.5.1}}
\newlabel{features/sdk:intro}{{3.5.1}{26}{Intro\relax }{subsection.3.5.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}Usage}{27}{subsection.3.5.2}}
\newlabel{features/sdk:usage}{{3.5.2}{27}{Usage\relax }{subsection.3.5.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.3}Supported commands}{27}{subsection.3.5.3}}
\newlabel{features/sdk:supported-commands}{{3.5.3}{27}{Supported commands\relax }{subsection.3.5.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Activate extension command}{27}{subsubsection*.117}}
\newlabel{features/sdk/command_activate_extension::doc}{{3.5.3}{27}{Activate extension command\relax }{subsubsection*.117}{}}
\newlabel{features/sdk/command_activate_extension:activate-extension-command}{{3.5.3}{27}{Activate extension command\relax }{subsubsection*.117}{}}
\newlabel{features/sdk/command_activate_extension:fantastico.sdk.commands.command_activate_extension.SdkCommandActivateExtension}{{3.5.3}{27}{Activate extension command\relax }{section*.118}{}}
\newlabel{features/sdk/command_activate_extension:fantastico.sdk.commands.command_activate_extension.SdkCommandActivateExtension.exec}{{3.5.3}{27}{Activate extension command\relax }{section*.119}{}}
\newlabel{features/sdk/command_activate_extension:fantastico.sdk.commands.command_activate_extension.SdkCommandActivateExtension.get_arguments}{{3.5.3}{27}{Activate extension command\relax }{section*.120}{}}
\newlabel{features/sdk/command_activate_extension:fantastico.sdk.commands.command_activate_extension.SdkCommandActivateExtension.get_help}{{3.5.3}{27}{Activate extension command\relax }{section*.121}{}}
\@writefile{toc}{\contentsline {subsubsection}{Fantastico command}{27}{subsubsection*.122}}
\newlabel{features/sdk/command_fantastico:fantastico-command}{{3.5.3}{27}{Fantastico command\relax }{subsubsection*.122}{}}
\newlabel{features/sdk/command_fantastico::doc}{{3.5.3}{27}{Fantastico command\relax }{subsubsection*.122}{}}
\@writefile{toc}{\contentsline {subsubsection}{Syncdb command}{28}{subsubsection*.123}}
\newlabel{features/sdk/command_syncdb::doc}{{3.5.3}{28}{Syncdb command\relax }{subsubsection*.123}{}}
\newlabel{features/sdk/command_syncdb:syncdb-command}{{3.5.3}{28}{Syncdb command\relax }{subsubsection*.123}{}}
\newlabel{features/sdk/command_syncdb:fantastico.sdk.commands.command_syncdb.SdkCommandSyncDb}{{3.5.3}{28}{Syncdb command\relax }{section*.124}{}}
\newlabel{features/sdk/command_syncdb:fantastico.sdk.commands.command_syncdb.SdkCommandSyncDb.exec}{{3.5.3}{28}{Syncdb command\relax }{section*.125}{}}
\newlabel{features/sdk/command_syncdb:fantastico.sdk.commands.command_syncdb.SdkCommandSyncDb.get_arguments}{{3.5.3}{28}{Syncdb command\relax }{section*.126}{}}
\newlabel{features/sdk/command_syncdb:fantastico.sdk.commands.command_syncdb.SdkCommandSyncDb.get_help}{{3.5.3}{28}{Syncdb command\relax }{section*.127}{}}
\@writefile{toc}{\contentsline {subsubsection}{Version command}{28}{subsubsection*.128}}
\newlabel{features/sdk/command_version::doc}{{3.5.3}{28}{Version command\relax }{subsubsection*.128}{}}
\newlabel{features/sdk/command_version:version-command}{{3.5.3}{28}{Version command\relax }{subsubsection*.128}{}}
\newlabel{features/sdk/command_version:fantastico.sdk.commands.command_version.SdkCommandVersion}{{3.5.3}{28}{Version command\relax }{section*.129}{}}
\newlabel{features/sdk/command_version:fantastico.sdk.commands.command_version.SdkCommandVersion.exec}{{3.5.3}{29}{Version command\relax }{section*.130}{}}
\newlabel{features/sdk/command_version:fantastico.sdk.commands.command_version.SdkCommandVersion.get_help}{{3.5.3}{29}{Version command\relax }{section*.131}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.4}Technical summary}{29}{subsection.3.5.4}}
\newlabel{features/sdk:technical-summary}{{3.5.4}{29}{Technical summary\relax }{subsection.3.5.4}{}}
\newlabel{features/sdk:fantastico.sdk.fantastico.SdkCore}{{3.5.4}{29}{Technical summary\relax }{section*.132}{}}
\newlabel{features/sdk:fantastico.sdk.fantastico.SdkCore.exec}{{3.5.4}{29}{Technical summary\relax }{section*.133}{}}
\newlabel{features/sdk:fantastico.sdk.fantastico.SdkCore.get_arguments}{{3.5.4}{29}{Technical summary\relax }{section*.134}{}}
\newlabel{features/sdk:fantastico.sdk.fantastico.SdkCore.get_help}{{3.5.4}{29}{Technical summary\relax }{section*.135}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommandsRegistry}{{3.5.4}{29}{Technical summary\relax }{section*.136}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommandsRegistry.add_command}{{3.5.4}{30}{Technical summary\relax }{section*.137}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommandsRegistry.get_command}{{3.5.4}{30}{Technical summary\relax }{section*.138}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommandArgument}{{3.5.4}{30}{Technical summary\relax }{section*.139}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommandArgument.help}{{3.5.4}{30}{Technical summary\relax }{section*.140}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommandArgument.name}{{3.5.4}{30}{Technical summary\relax }{section*.141}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommandArgument.short_name}{{3.5.4}{30}{Technical summary\relax }{section*.142}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommandArgument.type}{{3.5.4}{30}{Technical summary\relax }{section*.143}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommand}{{3.5.4}{30}{Technical summary\relax }{section*.144}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommand.exec}{{3.5.4}{30}{Technical summary\relax }{section*.145}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommand.exec_command}{{3.5.4}{31}{Technical summary\relax }{section*.146}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_core.SdkCommand.get_arguments}{{3.5.4}{31}{Technical summary\relax }{section*.147}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_decorators.SdkCommand}{{3.5.4}{31}{Technical summary\relax }{section*.148}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_exceptions.FantasticoSdkError}{{3.5.4}{31}{Technical summary\relax }{section*.149}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_exceptions.FantasticoSdkCommandError}{{3.5.4}{31}{Technical summary\relax }{section*.150}{}}
\newlabel{features/sdk:fantastico.sdk.sdk_exceptions.FantasticoSdkCommandNotFoundError}{{3.5.4}{32}{Technical summary\relax }{section*.151}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.6}Component model}{32}{section.3.6}}
\newlabel{features/component_model::doc}{{3.6}{32}{Component model\relax }{section.3.6}{}}
\newlabel{features/component_model:component-model}{{3.6}{32}{Component model\relax }{section.3.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.1}Static folder}{32}{subsection.3.6.1}}
\newlabel{features/component_model:static-folder}{{3.6.1}{32}{Static folder\relax }{subsection.3.6.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.2}Sql folder}{32}{subsection.3.6.2}}
\newlabel{features/component_model:sql-folder}{{3.6.2}{32}{Sql folder\relax }{subsection.3.6.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Sql folder example}{32}{subsubsection*.152}}
\newlabel{features/component_model:sql-folder-example}{{3.6.2}{32}{Sql folder example\relax }{subsubsection*.152}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.7}Component reusage}{34}{section.3.7}}
\newlabel{features/component_reusage::doc}{{3.7}{34}{Component reusage\relax }{section.3.7}{}}
\newlabel{features/component_reusage:component-reusage}{{3.7}{34}{Component reusage\relax }{section.3.7}{}}
\newlabel{features/component_reusage:fantastico.rendering.component.Component}{{3.7}{34}{Component reusage\relax }{section*.153}{}}
\newlabel{features/component_reusage:fantastico.rendering.component.Component.parse}{{3.7}{34}{Component reusage\relax }{section*.154}{}}
\newlabel{features/component_reusage:fantastico.rendering.component.Component.render}{{3.7}{35}{Component reusage\relax }{section*.155}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.8}Built in components}{35}{section.3.8}}
\newlabel{features/components_builtin::doc}{{3.8}{35}{Built in components\relax }{section.3.8}{}}
\newlabel{features/components_builtin:built-in-components}{{3.8}{35}{Built in components\relax }{section.3.8}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.1}Dynamic menu}{35}{subsection.3.8.1}}
\newlabel{features/components/dynamic_menu/dynamic_menu::doc}{{3.8.1}{35}{Dynamic menu\relax }{subsection.3.8.1}{}}
\newlabel{features/components/dynamic_menu/dynamic_menu:dynamic-menu}{{3.8.1}{35}{Dynamic menu\relax }{subsection.3.8.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Integration}{35}{subsubsection*.156}}
\newlabel{features/components/dynamic_menu/dynamic_menu:integration}{{3.8.1}{35}{Integration\relax }{subsubsection*.156}{}}
\@writefile{toc}{\contentsline {paragraph}{Component files activation deprecated}{35}{paragraph*.157}}
\newlabel{features/components/dynamic_menu/dynamic_menu:component-files-activation-deprecated}{{3.8.1}{35}{Component files activation deprecated\relax }{paragraph*.157}{}}
\@writefile{toc}{\contentsline {paragraph}{Component files activation (SDK)}{36}{paragraph*.158}}
\newlabel{features/components/dynamic_menu/dynamic_menu:component-files-activation-sdk}{{3.8.1}{36}{Component files activation (SDK)\relax }{paragraph*.158}{}}
\@writefile{toc}{\contentsline {paragraph}{Component sample + db data}{36}{paragraph*.159}}
\newlabel{features/components/dynamic_menu/dynamic_menu:component-sample-db-data}{{3.8.1}{36}{Component sample + db data\relax }{paragraph*.159}{}}
\@writefile{toc}{\contentsline {subsubsection}{Current limitations}{36}{subsubsection*.160}}
\newlabel{features/components/dynamic_menu/dynamic_menu:current-limitations}{{3.8.1}{36}{Current limitations\relax }{subsubsection*.160}{}}
\@writefile{toc}{\contentsline {subsubsection}{Technical summary}{36}{subsubsection*.161}}
\newlabel{features/components/dynamic_menu/dynamic_menu:technical-summary}{{3.8.1}{36}{Technical summary\relax }{subsubsection*.161}{}}
\newlabel{features/components/dynamic_menu/dynamic_menu:fantastico.contrib.dynamic_menu.menu_controller.DynamicMenuController}{{3.8.1}{36}{Technical summary\relax }{section*.162}{}}
\newlabel{features/components/dynamic_menu/dynamic_menu:fantastico.contrib.dynamic_menu.menu_controller.DynamicMenuController.max_items}{{3.8.1}{37}{Technical summary\relax }{section*.163}{}}
\newlabel{features/components/dynamic_menu/dynamic_menu:fantastico.contrib.dynamic_menu.menu_controller.DynamicMenuController.retrieve_menu_items}{{3.8.1}{37}{Technical summary\relax }{section*.164}{}}
\newlabel{features/components/dynamic_menu/dynamic_menu:fantastico.contrib.dynamic_menu.menu_exceptions.FantasticoMenuNotFoundException}{{3.8.1}{37}{Technical summary\relax }{section*.165}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.2}Dynamic pages}{37}{subsection.3.8.2}}
\newlabel{features/components/dynamic_pages/dynamic_pages:dynamic-pages}{{3.8.2}{37}{Dynamic pages\relax }{subsection.3.8.2}{}}
\newlabel{features/components/dynamic_pages/dynamic_pages::doc}{{3.8.2}{37}{Dynamic pages\relax }{subsection.3.8.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Integration}{37}{subsubsection*.166}}
\newlabel{features/components/dynamic_pages/dynamic_pages:integration}{{3.8.2}{37}{Integration\relax }{subsubsection*.166}{}}
\@writefile{toc}{\contentsline {subsubsection}{Current limitations}{38}{subsubsection*.167}}
\newlabel{features/components/dynamic_pages/dynamic_pages:current-limitations}{{3.8.2}{38}{Current limitations\relax }{subsubsection*.167}{}}
\@writefile{toc}{\contentsline {subsubsection}{Technical summary}{38}{subsubsection*.168}}
\newlabel{features/components/dynamic_pages/dynamic_pages:technical-summary}{{3.8.2}{38}{Technical summary\relax }{subsubsection*.168}{}}
\newlabel{features/components/dynamic_pages/dynamic_pages:fantastico.contrib.dynamic_pages.pages_router.PagesRouter}{{3.8.2}{38}{Technical summary\relax }{section*.169}{}}
\newlabel{features/components/dynamic_pages/dynamic_pages:fantastico.contrib.dynamic_pages.pages_router.PagesRouter.serve_dynamic_page}{{3.8.2}{39}{Technical summary\relax }{section*.170}{}}
\newlabel{features/components/dynamic_pages/dynamic_pages:fantastico.contrib.dynamic_pages.models.pages.DynamicPage}{{3.8.2}{39}{Technical summary\relax }{section*.171}{}}
\newlabel{features/components/dynamic_pages/dynamic_pages:fantastico.contrib.dynamic_pages.models.pages.DynamicPageModel}{{3.8.2}{40}{Technical summary\relax }{section*.172}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.3}Tracking codes}{40}{subsection.3.8.3}}
\newlabel{features/components/tracking_codes/tracking_codes:tracking-codes}{{3.8.3}{40}{Tracking codes\relax }{subsection.3.8.3}{}}
\newlabel{features/components/tracking_codes/tracking_codes::doc}{{3.8.3}{40}{Tracking codes\relax }{subsection.3.8.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{Analytic solutions}{40}{subsubsection*.173}}
\newlabel{features/components/tracking_codes/tracking_codes:analytic-solutions}{{3.8.3}{40}{Analytic solutions\relax }{subsubsection*.173}{}}
\@writefile{toc}{\contentsline {subsubsection}{Integration}{41}{subsubsection*.174}}
\newlabel{features/components/tracking_codes/tracking_codes:integration}{{3.8.3}{41}{Integration\relax }{subsubsection*.174}{}}
\@writefile{toc}{\contentsline {subsubsection}{Current limitations}{41}{subsubsection*.175}}
\newlabel{features/components/tracking_codes/tracking_codes:current-limitations}{{3.8.3}{41}{Current limitations\relax }{subsubsection*.175}{}}
\@writefile{toc}{\contentsline {subsubsection}{Technical summary}{41}{subsubsection*.176}}
\newlabel{features/components/tracking_codes/tracking_codes:technical-summary}{{3.8.3}{41}{Technical summary\relax }{subsubsection*.176}{}}
\newlabel{features/components/tracking_codes/tracking_codes:fantastico.contrib.tracking_codes.tracking_controller.TrackingController}{{3.8.3}{41}{Technical summary\relax }{section*.177}{}}
\newlabel{features/components/tracking_codes/tracking_codes:fantastico.contrib.tracking_codes.tracking_controller.TrackingController.list_codes}{{3.8.3}{41}{Technical summary\relax }{section*.178}{}}
\newlabel{features/components/tracking_codes/tracking_codes:fantastico.contrib.tracking_codes.tracking_controller.TrackingController.list_codes_ui}{{3.8.3}{42}{Technical summary\relax }{section*.179}{}}
\newlabel{features/components/tracking_codes/tracking_codes:fantastico.contrib.tracking_codes.models.codes.TrackingCode}{{3.8.3}{42}{Technical summary\relax }{section*.180}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}How to articles}{43}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{how_to/how_to:how-to-articles}{{4}{43}{How to articles\relax }{chapter.4}{}}
\newlabel{how_to/how_to::doc}{{4}{43}{How to articles\relax }{chapter.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}MVC How to}{43}{section.4.1}}
\newlabel{how_to/mvc_how_to::doc}{{4.1}{43}{MVC How to\relax }{section.4.1}{}}
\newlabel{how_to/mvc_how_to:mvc-how-to}{{4.1}{43}{MVC How to\relax }{section.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}Code the model}{43}{subsection.4.1.1}}
\newlabel{how_to/mvc_how_to:code-the-model}{{4.1.1}{43}{Code the model\relax }{subsection.4.1.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Code the controller}{43}{subsection.4.1.2}}
\newlabel{how_to/mvc_how_to:code-the-controller}{{4.1.2}{43}{Code the controller\relax }{subsection.4.1.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Code the view}{44}{subsection.4.1.3}}
\newlabel{how_to/mvc_how_to:code-the-view}{{4.1.3}{44}{Code the view\relax }{subsection.4.1.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}Test your application}{44}{subsection.4.1.4}}
\newlabel{how_to/mvc_how_to:test-your-application}{{4.1.4}{44}{Test your application\relax }{subsection.4.1.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Deployment how to}{44}{section.4.2}}
\newlabel{how_to/deployment_how_to::doc}{{4.2}{44}{Deployment how to\relax }{section.4.2}{}}
\newlabel{how_to/deployment_how_to:deployment-how-to}{{4.2}{44}{Deployment how to\relax }{section.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Low usage (simplest scenario)}{45}{subsection.4.2.1}}
\newlabel{how_to/deployment/low_usage_scenario::doc}{{4.2.1}{45}{Low usage (simplest scenario)\relax }{subsection.4.2.1}{}}
\newlabel{how_to/deployment/low_usage_scenario:low-usage-simplest-scenario}{{4.2.1}{45}{Low usage (simplest scenario)\relax }{subsection.4.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setup}{46}{subsubsection*.181}}
\newlabel{how_to/deployment/low_usage_scenario:setup}{{4.2.1}{46}{Setup\relax }{subsubsection*.181}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Low usage AWS}{46}{subsection.4.2.2}}
\newlabel{how_to/deployment/aws_low_usage_scenario:low-usage-aws}{{4.2.2}{46}{Low usage AWS\relax }{subsection.4.2.2}{}}
\newlabel{how_to/deployment/aws_low_usage_scenario::doc}{{4.2.2}{46}{Low usage AWS\relax }{subsection.4.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setup}{47}{subsubsection*.182}}
\newlabel{how_to/deployment/aws_low_usage_scenario:setup}{{4.2.2}{47}{Setup\relax }{subsubsection*.182}{}}
\@writefile{toc}{\contentsline {subsubsection}{Optimization}{47}{subsubsection*.183}}
\newlabel{how_to/deployment/aws_low_usage_scenario:optimization}{{4.2.2}{47}{Optimization\relax }{subsubsection*.183}{}}
\@writefile{toc}{\contentsline {subsubsection}{Setup with S3}{48}{subsubsection*.184}}
\newlabel{how_to/deployment/aws_low_usage_scenario:setup-with-s3}{{4.2.2}{48}{Setup with S3\relax }{subsubsection*.184}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Static assets}{48}{section.4.3}}
\newlabel{how_to/static_assets:static-assets}{{4.3}{48}{Static assets\relax }{section.4.3}{}}
\newlabel{how_to/static_assets::doc}{{4.3}{48}{Static assets\relax }{section.4.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Static assets on dev}{48}{subsection.4.3.1}}
\newlabel{how_to/static_assets:static-assets-on-dev}{{4.3.1}{48}{Static assets on dev\relax }{subsection.4.3.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{Favicon}{49}{subsubsection*.185}}
\newlabel{how_to/static_assets:favicon}{{4.3.1}{49}{Favicon\relax }{subsubsection*.185}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}Static assets on prod}{49}{subsection.4.3.2}}
\newlabel{how_to/static_assets:static-assets-on-prod}{{4.3.2}{49}{Static assets on prod\relax }{subsection.4.3.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.4}Creating a new project}{49}{section.4.4}}
\newlabel{how_to/new_project_how_to:creating-a-new-project}{{4.4}{49}{Creating a new project\relax }{section.4.4}{}}
\newlabel{how_to/new_project_how_to::doc}{{4.4}{49}{Creating a new project\relax }{section.4.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}Create first component}{49}{subsection.4.4.1}}
\newlabel{how_to/new_project_how_to:create-first-component}{{4.4.1}{49}{Create first component\relax }{subsection.4.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.2}Customize dev server}{50}{subsection.4.4.2}}
\newlabel{how_to/new_project_how_to:customize-dev-server}{{4.4.2}{50}{Customize dev server\relax }{subsection.4.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.3}Customize uwsgi prod server}{50}{subsection.4.4.3}}
\newlabel{how_to/new_project_how_to:customize-uwsgi-prod-server}{{4.4.3}{50}{Customize uwsgi prod server\relax }{subsection.4.4.3}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Changes}{51}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{changes:changes}{{5}{51}{Changes\relax }{chapter.5}{}}
\newlabel{changes::doc}{{5}{51}{Changes\relax }{chapter.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}Feedback}{51}{section.5.1}}
\newlabel{changes:feedback}{{5.1}{51}{Feedback\relax }{section.5.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.2}Versions}{51}{section.5.2}}
\newlabel{changes:versions}{{5.2}{51}{Versions\relax }{section.5.2}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Provide feedback}{53}{chapter.6}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:provide-feedback}{{6}{53}{Provide feedback\relax }{chapter.6}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Build status}{55}{chapter.7}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:build-status}{{7}{55}{Build status\relax }{chapter.7}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {8}License}{57}{chapter.8}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{index:license}{{8}{57}{License\relax }{chapter.8}{}}
\@writefile{toc}{\contentsline {chapter}{Index}{59}{section*.186}}
