tickets
26 rows where "created" is on date 2008-08-12 sorted by needs_better_patch
This data as json, CSV (advanced)
Suggested facets: changetime, stage, component, type, resolution, owner, needs_tests, needs_docs, ui_ux
id | created | changetime | last_pulled_from_trac | stage | status | component | type | severity | version | resolution | summary | description | owner | reporter | keywords | easy | has_patch | needs_better_patch ▼ | needs_tests | needs_docs | ui_ux |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8246 | 2008-08-12 00:03:46 | 2011-09-28 16:12:17 | 2022-03-06 03:41:44.921063 | Accepted | closed | Core (Management commands) | dev | fixed | Subpackage Settings Fix | r8282 introduces a regression by adding a line like so: {{{ #!python setup_environ(__import__(settings.SETTINGS_MODULE)) }}} I don't know why this line is used, but since `__import__` returns the first package, even in a dotted expression like `settings.development`, this line has the net effect of running `setup_environ` on `settings.__init__` instead of `settings.development`, which has, as you can imagine, negative effects - like breaking runserver (since it can't find any settings), and any management command that spawn a subprocess (which captures the new, incorrect DJANGO_SETTINGS_MODULE environment variable). The attached patch fixes this. (I'm guessing on the assignee, forgive me if I'm wrong.) | russellm | AdamG | 0 | 0 | 0 | 0 | 0 | 0 | |||
8247 | 2008-08-12 01:48:09 | 2011-09-28 16:12:17 | 2022-03-06 03:41:45.061188 | Accepted | closed | Documentation | dev | fixed | Incomplete documentation for AdminSite (left out step 4) | This mentions step 4: "Instantiate your own AdminSite ..." but never mentions how to do it. The AdminSite Object section starts with hooking the AdminSite up to your urls. [http://www.djangoproject.com/documentation/admin/] | brosner | bendavis78 | Admin AdminSite | 0 | 0 | 0 | 0 | 0 | 0 | ||
8248 | 2008-08-12 03:46:06 | 2009-02-25 19:51:44 | 2022-03-06 03:41:45.211828 | Accepted | closed | Core (Other) | dev | fixed | Built-in python function, help(), does not work on models with ForeignKey fields | If a model refers to a Site model, the help() function stops working, meaning functions, docstrings, etc don't print. To reproduce: {{{ $ django-admin.py startproject myproj $ ./manage.py shell >>> from django.contrib.sites.models import Site >>> help(Site) }}} This will return correct functions, docstrings, etc... Now create an app: {{{ $ ./manage.py startapp myapp }}} Create a model: {{{ from django.db import models from django.contrib.sites.models import Site class MyModel(models.Model): name = models.CharField(max_length=50) site = models.ForeignKey(Site) }}} Now try to view help for this either MyModel or Site: {{{ $ ./manage.py shell >>> from myapp.models import MyModel >>> from django.contrib.sites.models import Site >>> help(MyModel) >>> help(Site) }}} Both calls will only show something similar to: {{{ Help on class MyModel in module myproj.myapp.models: MyModel = <class 'myproj.myapp.models.MyModel'> (END) }}} Tested on SVN 8204 and 8313 - same results | lingrlongr | help ForeignKey foreign key | 0 | 0 | 0 | 0 | 0 | 0 | |||
8249 | 2008-08-12 05:21:30 | 2011-09-28 16:12:17 | 2022-03-06 03:41:45.348647 | Accepted | closed | Testing framework | dev | invalid | Regression of ticket #6820 (at least when using with GeoDjango) | It seems that the recent refactoring of introspection (changeset:8296) may have introduced a regression of ticket:6820. When running tests of an application that uses GeoDjango, all tables are created correctly and fixtures manage to load without a problem. But the flush fails with the following message: {{{ Error: Database test_epervago_django couldn't be flushed. Possible reasons: * The database isn't running or isn't configured correctly. * At least one of the expected database tables doesn't exist. * The SQL was invalid. Hint: Look at the output of 'django-admin.py sqlflush'. That's the SQL this command wasn't able to run. The full error: insert or update on table "maps_userprofile" violates foreign key constraint "maps_userprofile_user_id_fkey" DETAIL: Key (user_id)=(1) is not present in table "auth_user". }}} This is the output of django-admin.py sqlflush: {{{ TRUNCATE "auth_permission", "auth_group", "auth_user_user_permissions", "django_site", "books_book", "django_content_type", "maps_district", "django_session", "auth_user_groups", "maps_area", "maps_city", "maps_listing", "maps_state", "books_book_tags", "django_admin_log", "maps_userprofile", "auth_group_permissions", "maps_userprofile_saved_listings", "maps_address", "books_author", "books_publisher", "maps_area_districts", "auth_message", "books_tag", "auth_user"; }}} | nobody | eugene.pervago@gmail.com | gis geodjango tests flush introspection regression | 0 | 0 | 0 | 0 | 0 | 0 | ||
8250 | 2008-08-12 05:46:23 | 2011-09-28 16:12:17 | 2022-03-06 03:41:45.501215 | Accepted | closed | Documentation | dev | duplicate | "information on MySQL transactions" link in transaction docs no longer valid | The current link: http://dev.mysql.com/books/mysqlpress/mysql-tutorial/ch10.html Now redirects to a wiki page with essentially no content: http://forge.mysql.com/wiki/Recommended_Books Anyone know of a good resource to replace it with? Some options might be: * The latest reference manual chapter on transactions: http://dev.mysql.com/doc/refman/6.0/en/sql-syntax-transactions.html * Use the wayback machine (pretty slow though): http://web.archive.org/web/20080213144646/http://dev.mysql.com/books/mysqlpress/mysql-tutorial/ch10.html | nobody | gwilson | 0 | 0 | 0 | 0 | 0 | 0 | |||
8251 | 2008-08-12 07:20:47 | 2011-09-28 16:12:17 | 2022-03-06 03:41:45.684969 | Accepted | closed | Core (Other) | dev | duplicate | Receiving NoReverseMatch using {% url %} and Generic Views | My project uses only generic views with named URL patterns. After updating to [8317] tonight, I ran into an error probably related to the [8211] NoReverseMatch exception change. Before the update, my `{% url %}` tags, which consist of only a single argument, e.g. `{% url project-list %}` return the following error: {{{ Traceback (most recent call last):, referer: http://djangoplugables.com/ File "/usr/lib/python2.5/site-packages/django/core/handlers/wsgi.py", line 216, in __call__, referer: http://djangoplugables.com/ response = self.get_response(request), referer: http://djangoplugables.com/ File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 125, in get_response, referer: http://djangoplugables.com/ return self.handle_uncaught_exception(request, resolver, exc_info), referer: http://djangoplugables.com/ File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 157, in handle_uncaught_exception, referer: http://djangoplugables.com/ return callback(request, **param_dict), referer: http://djangoplugables.com/ File "/usr/lib/python2.5/site-packages/django/views/defaults.py", line 89, in server_error, referer: http://djangoplugables.com/ return http.HttpResponseServerError(t.render(Context({}))), referer: http://djangoplugables.com/ File "/usr/lib/python2.5/site-packages/django/template/__init__.py", line 176, in render, referer: http://djangoplugables.com/ return self.nodelist.render(context), referer: http://djangoplugables.com/ File "/usr/lib/python2.5/site-packages/django/template/__init__.py", line 751, in render, referer: http://djangoplugables.com/ bits.append(self.render_node(node, context)), referer: http://djangoplugables.com/ File "/usr/lib/python2.5/site-packages/django/template/__init__.py", line 764, in render_node, referer: http://djangoplugables.com/ return node.render(context), referer: http://djangoplugables.com/ File "/usr/lib/python2.5/site-packages/django/template/loader_tags.py", line 97, in re… | nobody | bryanveloso | 0 | 0 | 0 | 0 | 0 | 0 | |||
8252 | 2008-08-12 08:00:24 | 2008-08-12 08:08:57 | 2022-03-06 03:41:45.824875 | Unreviewed | closed | *.djangoproject.com | invalid | roadmap charts consider "invalid", "duplicate", etc. tickets as active | roadmap charts (http://code.djangoproject.com/roadmap) consider "invalid", "duplicate", etc. tickets as active, thus give incorrectly pessimistic statistics of progress. | nobody | omat@gezgin.com | roadmap | 0 | 0 | 0 | 0 | 0 | 0 | |||
8253 | 2008-08-12 08:47:44 | 2011-09-28 16:12:17 | 2022-03-06 03:41:45.963465 | Accepted | closed | contrib.syndication | dev | fixed | Regression: Atom feed lacks xmlns root attribute | Since [8311], the atom feed has no xmlns declaration anymore. The attached patch fixes the problem and adds an regression test. | jacob | eibaan | 0 | 1 | 0 | 0 | 0 | 0 | |||
8254 | 2008-08-12 11:17:59 | 2011-09-28 16:12:17 | 2022-03-06 03:41:46.095182 | Accepted | closed | Core (Other) | dev | fixed | incorrect sql query in many to many backwards relation using an intermediate table | using the following models: {{{ #!python class Project(models.Model): name = models.CharField(max_length = 30, primary_key = True) startDate = models.DateField(auto_now_add = True) active = models.BooleanField(default = True) def __unicode__(self): return self.name class Tag(models.Model): id = models.AutoField(primary_key = True) name = models.CharField(max_length = 100) type = models.CharField(max_length = 100) project = models.ForeignKey(Project) class Meta: unique_together = ('name', 'project') def __unicode__(self): return self.name class Document(models.Model): text = models.CharField(max_length=200) project = models.ForeignKey(Project) tags = models.ManyToManyField(Tag, through='Document2Tag') class Meta: unique_together = ("text", "project") def __unicode__(self): return unicode(self.id) class Document2Tag(models.Model): document = models.ForeignKey(Document) tag = models.ForeignKey(Tag) user = models.ForeignKey(User) def __unicode__(self): return u'(%s, %s, %s)' % (self.document.id, self.tag.name, self.user.username) }}} I've made the following query: {{{ #!python >>> from general.models import * >>> from django.contrib.auth.models import User >>> user1 = User.objects.get(username='user1') >>> user2 = User.objects.get(username='user2') >>> project = Project.objects.get(name='project1') >>> Document.objects.all() [<Document: 1>, <Document: 2>] >>> Tag.objects.all() [<Tag: tag1>, <Tag: tag2>] >>> Document2Tag.objects.all() [<Document2Tag: (1, tag2, user2)>, <Document2Tag: (1, tag1, user1)>] >>> tag1 = Tag.objects.get(name='tag1') >>> tag1.document_set.filter(document2tag__user=user1) [<Document: 1>] >>> tag1.document_set.filter(document2tag__user=user2) [<Document: 1>] }}} as you can see in the above scenario, 'tag1' is incorrectly associated with 'document1' when q… | mtredinnick | ido | m2m many2many ManyToMany sql query through | 0 | 0 | 0 | 0 | 0 | 0 | ||
8256 | 2008-08-12 12:57:34 | 2011-09-28 16:12:16 | 2022-03-06 03:41:46.408684 | Unreviewed | closed | Core (Other) | dev | duplicate | Changeset [8282] broke settings.py | When doing `manage.py runserver` it seems the settings in `settings.py` is ignored. I traced the error to the a change in [8282]. When doing `__import__("projectname.settings")` it is actually the `projectname(/__init__.py)` that gets imported. From `help(__import__)`: {{{ When importing a module from a package, note that __import__('A.B', ...) returns package A when fromlist is empty, but its submodule B when fromlist is not empty. }}} I came up with a solution in the diff attached, which works for me. Regards, Christian | nobody | chrj | 0 | 1 | 0 | 0 | 0 | 0 | |||
8257 | 2008-08-12 13:02:20 | 2008-08-12 13:03:23 | 2022-03-06 03:41:46.556635 | Unreviewed | closed | Tools | dev | invalid | Wiki at code.djangoproject.com incorrectly rejecting edits as spam | Tried to add several Django error messages and their causes. Got "500 Internal Server Error (Submission rejected as potential spam)". | nobody | anonymous | 0 | 0 | 0 | 0 | 0 | 0 | |||
8259 | 2008-08-12 14:42:47 | 2011-09-28 16:12:17 | 2022-03-06 03:41:46.851554 | Accepted | closed | HTTP handling | dev | fixed | core/handlers/wsgi.py: raises TypeError in _get_raw_post_data if CONTENT_LENGTH is empty. | * write a view which gets raw_post_data from request. * run development server * use pycurl or other client which can send an empty Content-length header. * raises TypeError near: core/handlers/wsgi.py:175 {{{ content_length = int(self.environ.get('CONTENT_LENGTH', 0)) }}} * the problem is that CONTENT_LENGTH is None and type(None) -> TypeError I vave to further investigate this. | kevin | erny | aug22sprint | 0 | 1 | 0 | 0 | 0 | 0 | ||
8260 | 2008-08-12 15:05:56 | 2011-09-28 16:12:16 | 2022-03-06 03:41:46.994868 | Accepted | closed | Database layer (models, ORM) | dev | fixed | MySQLDb v 1.2.1 -- no VARCHAR | The Change in r8318 i assumes Mysqldb 1.2.2, 1.2.1 does not have have VARCHAR as a Field Type not too sure what to do about that, other then hard code '15' for the usage in django/db/backends/mysql/base.py. but that seems to be the only thing about 1.2.1 v 1.2.2 that breaks the doc statement "If you’re using MySQL, you’ll need MySQLdb, version 1.2.1p2 or higher. You will also want to read the database-specific notes for the MySQL backend." | mtredinnick | magneto | mysqldb | 0 | 0 | 0 | 0 | 0 | 0 | ||
8261 | 2008-08-12 15:29:59 | 2013-10-29 21:10:53 | 2022-03-06 03:41:47.131406 | Ready for checkin | closed | contrib.admin | New feature | Normal | dev | fixed | ModelAdmin hook for customising the "show on site" button | As Simon Willison [http://groups.google.com/group/django-developers/browse_thread/thread/6dd78862b887438c?hl=en& suggested on django developers]: {{{ Further thinking about get_absolute_url. At the moment, the main reason it's a standard in Django is that it is used by django.contrib.admin to display the "show on site" button inside the admin interface. This mechanism isn't very robust. Admin sites are often run on different subdomains from the rest of the site, which means that get_absolute_url on its own isn't enough - instead, we have to go through the whole /r/{{ content-type-id }}/{{ object-id }}/ palaver which attempts to figure out the site based on ForeignKey(Site) properties on the model, or by using the default site from SITE_ID. It would make a lot more sense to allow ModelAdmin subclasses to define that behaviour themselves, for example: class ArticleAdmin(admin.ModelAdmin): ... def show_on_site(self, obj): return 'http://livesite.example.com' + obj.get_url_path() We could even support "show_on_site = True" as meaning "include the show on site link, using cleverness to figure out the link" whereas show_on_site = a_callable means "call this function to figure out the URL for that link". }}} | unaizalakain | jarrow | 0 | 1 | 0 | 0 | 0 | 1 | |
8262 | 2008-08-12 17:09:46 | 2011-09-28 16:12:17 | 2022-03-06 03:41:47.281635 | Accepted | closed | Documentation | dev | fixed | ADMINS setting referred to as ADMIN in settings.txt | There's one spot where ADMINS is erroneously called ADMIN. Fixed in attached patch. | jacob | Brian Victor <homeusenet3@brianhv.org> | 0 | 1 | 0 | 0 | 0 | 0 | |||
8263 | 2008-08-12 18:15:15 | 2013-06-28 09:19:50 | 2022-03-06 03:41:47.435374 | Unreviewed | closed | Database layer (models, ORM) | Uncategorized | Normal | dev | invalid | models.TextField max_length | if some model has file type of models.!CharField. When field string was overflow max_length, !ProgramError was raised. But, if model has field type of models.!TextField in same case. Nothing was raised. In this case, max_length seems to be a useless thing. | nobody | osanha | TextField, max_length | 0 | 0 | 0 | 0 | 0 | 0 |
8264 | 2008-08-12 20:10:47 | 2013-03-14 22:04:05 | 2022-03-06 03:41:47.589712 | Accepted | new | Core (URLs) | New feature | Normal | dev | Replace get_absolute_url with more sane alternative | See http://code.djangoproject.com/wiki/ReplacingGetAbsoluteUrl | simon | simon | 0 | 0 | 0 | 0 | 0 | 0 | ||
8265 | 2008-08-12 20:47:43 | 2008-08-23 01:10:47 | 2022-03-06 03:41:47.750126 | Unreviewed | closed | Template system | dev | duplicate | Debug template exception message is confuse | When some error happens and the debug page for error 500 is shown with debug informations, the exception value is shown as a H2 element, like this: {{{ Caught an exception while rendering: The 'image' attribute has no file associated with it. Original Traceback (most recent call last): File "../django/django/template/debug.py", line 71, in render_node result = node.render(context) File "../django/django/template/defaulttags.py", line 148, in render nodelist.append(node.render(context)) File "../django/django/template/debug.py", line 87, in render output = force_unicode(self.filter_expression.resolve(context)) File "../django/django/template/__init__.py", line 518, in resolve obj = self.var.resolve(context) File "../django/django/template/__init__.py", line 659, in resolve value = self._resolve_lookup(context) File "../django/django/template/__init__.py", line 688, in _resolve_lookup current = getattr(current, bit) File "/arquivos/Trabalhos/WN/Cranes/cranes_com/apps/spares/models.py", line 108, in __getattr__ thumbnail = get_image_thumbnail_filename() File "/arquivos/Trabalhos/WN/Cranes/cranes_com/apps/spares/models.py", line 100, in get_image_thumbnail_filename file, ext = os.path.splitext(self.image.path) File "../django/django/db/models/fields/files.py", line 50, in _get_path self._require_file() File "../django/django/db/models/fields/files.py", line 40, in _require_file raise ValueError("The '%s' attribute has no file associated with it." % self.field.name) ValueError: The 'image' attribute has no file associated with it. }}} This is VERY confuse and make developer spent some time to find the error message and the file/line where the error occured. My suggestion is change the H2 tag to PRE, with some CSS changes, so, the line breaks are respected exactly as they are when Python raises the exception. | nobody | marinho | 0 | 1 | 0 | 0 | 0 | 0 | |||
8266 | 2008-08-12 21:01:43 | 2011-09-28 16:12:17 | 2022-03-06 03:41:47.917244 | Accepted | closed | contrib.formtools | dev | duplicate | Form composed entirely of BooleanFields fails FormWizard hash validation | !FormWizard's call method checks the hash of the previous forms against the key in the POST data. If you use a form entirely composed of !BooleanFields, it will fail the hash check. I think this is because the raw POST data sets the field to 'on', while the BF normalizes this data to True. Here is a dump of my POST data. The hash for all 1-x values is deb9fcbe6ea61734b57d7107146a73a7. You can see in the POST data it was expecting f14a8cc9fbac45395d96d2e4096b7b79. I think the previous value was being generated based on raw POST data and not boundfield values. {{{ 1-9 u'False' wizard_step u'2' 1-15 u'False' 1-14 u'False' 1-17 u'False' 0-type u'Wedding' 1-11 u'False' 1-10 u'False' 1-13 u'False' 1-12 u'False' 0-take_requests u'Yes' 1-18 u'False' hash_1 u'f14a8cc9fbac45395d96d2e4096b7b79' hash_0 u'edc21eaca82256ba02b38e7a4e7f07c4' 0-special_requests u'' 0-email u'rokclimb15@gmail.com' 1-8 u'False' 2-1 u'on' 1-1 u'False' 1-3 u'on' 1-2 u'on' 1-5 u'False' 1-4 u'False' 1-7 u'False' 1-6 u'False' 0-date u'08/12/2008' 0-name u'Brian Morton' 0-interaction_level u'Reserved' 1-16 u'False' 0-location u'Atlanta' }}} | nobody | rokclimb15 | FormWizard | 0 | 0 | 0 | 0 | 0 | 0 | ||
8267 | 2008-08-12 21:46:07 | 2011-09-28 16:12:17 | 2022-03-06 03:41:48.043853 | Accepted | closed | Documentation | dev | fixed | Default FileStore setting show wrong module | The default settings looks to be 'django.core.file.filesystem.FileSystemStorage' instead of 'django.core.filestorage.filesystem.FileSystemStorage' which the docs have. | jacob | sethtrain | 0 | 0 | 0 | 0 | 0 | 0 | |||
8268 | 2008-08-12 22:00:05 | 2011-09-28 16:12:17 | 2022-03-06 03:41:48.173224 | Accepted | closed | Testing framework | dev | fixed | admin_scripts test doesn't take into account the JYTHONPATH environment variable | Very recently Jython started to recognize the JYTHONPATH environment variable. Thus, it should be cleared before calling a jython subprocess and restored afterwards, on source:django/trunk/tests/regressiontests/admin_scripts/tests.py. | leosoto | leosoto | jython | 0 | 0 | 0 | 0 | 0 | 0 | ||
8269 | 2008-08-12 22:53:04 | 2008-08-12 23:18:53 | 2022-03-06 03:41:48.343372 | Unreviewed | closed | contrib.sessions | dev | wontfix | sessions should only be marked modified when data actually changes | the modified flag on sessions currently is set on any assignment, even if you put the same data, which can make for a lot of duplicate writes | nobody | cgrady | 0 | 1 | 0 | 0 | 0 | 0 | |||
8271 | 2008-08-12 23:42:04 | 2008-09-03 15:22:59 | 2022-03-06 03:41:48.685977 | Accepted | closed | *.djangoproject.com | dev | fixed | Typo in "Activate your djangoproject.com account" email body | Here's the text of the "Activate your djangoproject.com account" email: {{{ Someone, hopefully you, signed up for a new account at using this email address. If it was you, and you'd like to activate and use your account, click the link below or copy and paste it into your web browser's address bar: http://www.djangoproject.com/accounts/activate/<bunch_of_numbers>/ If you didn't request this, you don't need to do anything; you won't receive any more email from us, and the account will expire automatically in three days. }}} Note the first line: "a new account at using this": something is missing between "at" and "using". | jacob | jjackson | 0 | 0 | 0 | 0 | 0 | 0 | |||
8255 | 2008-08-12 12:19:35 | 2008-08-12 14:39:53 | 2022-03-06 03:41:46.230989 | Unreviewed | closed | Documentation | dev | wontfix | Nobody reads the BackwardsIncompatibleChanges page | From the django irc room: {{{ out)) [10:49am] daonb: I'm trying to test the trunk and here's what I'm getting - http://dpaste.com/70874/ - I'm using 2.5.1 and postgres_psycopg2 on a OSX 10.5 [10:54am] Matro: huh, was get_<field>_filename removed? [10:55am] mattmcc: Nobody reads the BackwardsIncompatibleChanges page. [10:56am] Matro: I kept finding the one from the last revision [10:56am] Matro: [10:56am] mattmcc: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges#Filestoragerefactoring [10:58am] daonb: I'll read it, but I just did an 'svn up' and 'python setup.py install' and tested my installation. using runtests.pt. It should pass out of the box [10:58am] }}} | nobody | daonb <bennydaon@gmail.com> | 0 | 1 | 1 | 0 | 0 | 0 | |||
8258 | 2008-08-12 13:51:22 | 2011-09-28 16:12:17 | 2022-03-06 03:41:46.717759 | Accepted | closed | contrib.admin | dev | duplicate | Double escaping in admin delete confirmation | As reported by Pryankster in [1], the related objects to be deleted and listed in the admin's delete confirmation page are escaped twice: once in `admin.util.get_deleted_objects()` and once in the `unordered_list` filter. [1] http://groups.google.com/group/django-users/browse_thread/thread/911d5a0f6c53fdf2 | nobody | julien | 0 | 1 | 1 | 0 | 0 | 0 | |||
8270 | 2008-08-12 23:13:54 | 2014-06-08 19:55:52 | 2022-03-06 03:41:48.502448 | Accepted | closed | contrib.contenttypes | New feature | Normal | dev | fixed | Add convenience method to ContentTypeManager | app_label, model_name (e.g. ('news', 'story')) is often passed around internally in our codebase. The attached patch would be nice in Django, since otherwise we do a little hula to get the ContentType object. Doing a direct query would miss the handy cache ContentTypeManager includes. | nobody | jdunck | 0 | 1 | 1 | 1 | 1 | 0 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE tickets ( id int primary key, created datetime, changetime datetime, last_pulled_from_trac datetime, stage text, status text, component text, type text, severity text, version text, resolution text, summary text, description text, owner text, reporter text, keywords text, easy boolean, has_patch boolean, needs_better_patch boolean, needs_tests boolean, needs_docs boolean, ui_ux boolean );