Re: [pgadmin-hackers][pgaweb][patch] Website patch to add SCSS

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Sarah McAlear <smcalear(at)pivotal(dot)io>
Cc: Joao De Almeida Pereira <jdealmeidapereira(at)pivotal(dot)io>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgadmin-hackers][pgaweb][patch] Website patch to add SCSS
Date: 2017-07-17 12:08:31
Message-ID: CA+OCxozvqZt2B_y9jnEMTgFwWnG68gdpby02hqCpD9uh=kjrJg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Thanks, applied with tweaks to the README and removal of yarn.lock - the
server uses npm instead of yarn, because of various packaging
issues/conflicts with hosting maintenance policy.

On Fri, Jul 14, 2017 at 3:38 PM, Sarah McAlear <smcalear(at)pivotal(dot)io> wrote:

> Hello Hackers,
>
> We regenerated the add-readme.diff to include additions to .gitignore to
> ignore the compiled python files and the compiled CSS files and we added to
> yarn.lock file.
>
> Thanks,
>
> Joao & Sarah
>
>
> On Fri, Jul 14, 2017 at 10:24 AM, Joao De Almeida Pereira <
> jdealmeidapereira(at)pivotal(dot)io> wrote:
>
>> Hello Dave,
>> Instead of using the current library we found another one that compiles
>> the SCSS when the application starts.
>> We recreated the patches we sent before.
>>
>> Thanks
>> Joao & Sarah
>>
>> On Fri, Jul 14, 2017 at 5:42 AM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>
>>>
>>>
>>> On Wed, Jul 12, 2017 at 9:27 PM, George Gelashvili <
>>> ggelashvili(at)pivotal(dot)io> wrote:
>>>
>>>> Hi Dave,
>>>>
>>>>
>>>>> Hmm, seems like the dependencies are broken. Adding them throws me
>>>>> down what seems like a rabbit hole of manual installation, starting with:
>>>>>
>>>>> (pgaweb) piranha:pgaweb dpage$ pip install -r requirements.txt
>>>>> Requirement already satisfied: Django==1.8.18 in
>>>>> /Users/dpage/.virtualenvs/pgaweb/lib/python2.7/site-packages (from -r
>>>>> requirements.txt (line 1))
>>>>> Requirement already satisfied: psycopg2==2.7.1 in
>>>>> /Users/dpage/.virtualenvs/pgaweb/lib/python2.7/site-packages (from -r
>>>>> requirements.txt (line 2))
>>>>> Collecting libsass==0.13.2 (from -r requirements.txt (line 3))
>>>>> Using cached libsass-0.13.2.tar.gz
>>>>> Could not import setuptools which is required to install from a source
>>>>> distribution.
>>>>> Traceback (most recent call last):
>>>>> File "/Users/dpage/.virtualenvs/pgaweb/lib/python2.7/site-packages/pip/req/req_install.py",
>>>>> line 387, in setup_py
>>>>> import setuptools # noqa
>>>>> File "/Users/dpage/.virtualenvs/pgaweb/lib/python2.7/site-packages/setuptools/__init__.py",
>>>>> line 10, in <module>
>>>>> from six.moves import filter, map
>>>>> ImportError: No module named six.moves
>>>>>
>>>>> Perhaps the entire dependency tree should be added to requirements.txt?
>>>>>
>>>>>
>>>>
>>>> What version of pip runs in your pyenv? We're able to pip install
>>>> requirements inside a new 2.7.10 virtualenv, that gets created with pip
>>>> 9.0.1 by default.
>>>>
>>>
>>> Apologies - my virtual env was messed up.
>>>
>>>
>>>>
>>>>
>>>>> - Scripts to yarn to compile the SCSS and run the application
>>>>>>
>>>>> - Add startapp.sh script to start the application
>>>>>>
>>>>>
>>>>> The application runs under uWSGI - it's not going to be started via a
>>>>> script. It's auto-updated periodically from git, and uWSGI will restart
>>>>> when necessary so if any pre-processing of files is required, that needs to
>>>>> be done at startup automatically.
>>>>>
>>>>
>>>> Okay, so it sounds like shelling out to yarn in wsgi would resolve
>>>> this.
>>>>
>>>
>>> I think your suggestion below would be cleaner.
>>>
>>>
>>>
>>>> Otherwise, what does the auto-update process look like? perhaps
>>>> compilation steps belong there rather than in app startup.
>>>>
>>>
>>> It's really just a GIT pull. uWSGI then detects the change and restarts
>>> that app. We could certainly have it do "git pull && yarn install && yarn
>>> run scss" or similar.
>>>
>>> Now that said, the scss doesn't actually seem to build for me. I had to
>>> make 2 changes to get anywhere:
>>>
>>> 1) Change the tag in base.html to:
>>>
>>> <link href="{% sass_src 'css/pgaweb.scss' %}" rel="stylesheet"
>>> type="text/css" />
>>> 2) Remove the STATIC_ROOT directive from settings.py (so it didn't try
>>> to compile to /static) and replace with COMPRESS_ROOT='static/' and
>>> SASS_PROCESSOR_ROOT='static/'.
>>>
>>> That left me with a running site, that seems to behave as expected, at
>>> least when run standalone.
>>>
>>> Patch attached - comments?
>>>
>>> --
>>> Dave Page
>>> Blog: http://pgsnake.blogspot.com
>>> Twitter: @pgsnake
>>>
>>> EnterpriseDB UK: http://www.enterprisedb.com
>>> The Enterprise PostgreSQL Company
>>>
>>
>>
>

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgadmin-hackers by date

  From Date Subject
Next Message Harshal Dhumal 2017-07-17 12:09:31 Re: [RM2074][[RM2080]][pgAdmin4] handle large bytea and bytea[] data in datagrid
Previous Message Dave Page 2017-07-17 11:22:48 Re: [pgAdmin4]: Webpacking of static JS/CSS