-
Notifications
You must be signed in to change notification settings - Fork 1
/
bOP.pm
20893 lines (19666 loc) · 801 KB
/
bOP.pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Copyright (c) 2001-2014 bivio Software, Inc. All Rights reserved.
# $Id$
package Bivio::bOP;
use strict;
use base 'Bivio::UNIVERSAL';
=head1 NAME
Bivio::bOP - bivio OLTP Platform (bOP) overview and version
=head1 RELEASE SCOPE
bOP
=head1 SYNOPSIS
use Bivio::bOP;
=head1 DESCRIPTION
C<bOP> is a multi-dimensional, application framework. At the highest level,
bOP provides support for web-delivered applications based on a
Model-View-Controller (MVC) architecture. At the lowest level, bOP provides a
cohesive infrastructure for any Perl application.
We'll be writing more here later. Please visit
http://www.bivio.biz for more info.
=head1 CHANGES
$Log$
Revision 13.49 2014/10/18 17:32:07 nagler
* Bivio::Util::Release
don't run build as root now
Revision 13.48 2014/10/18 02:43:29 nagler
* Bivio::Util::Release
use CONTROL_DIR_FIND_PREDICATE instead of a glob
* Bivio::Util::TaskLog
added clear_missing_task_ids()
* Bivio::Util::VC
added primitive git support
fpc
fpc
find doesn't accept {} glob expansions so CONTROL_DIR_GLOB removed
and CONTROL_DIR_FIND_PREDICATE added.
Revision 13.47 2014/10/15 22:23:01 nagler
* Bivio::Biz::Action::LocalFilePlain
modularized cvs into Util.VC
* Bivio::Biz::Model::DbUpgrade
modularized cvs into Util.VC
* Bivio::Test::Reload
modularized cvs into Util.VC
* Bivio::Test::Util
modularized cvs into Util.VC
* Bivio::Util::Class
modularized cvs into Util.VC
* Bivio::Util::DarwinConfig
removed
* Bivio::Util::POD
modularized cvs into Util.VC
* Bivio::Util::Project
modularized cvs into Util.VC
* Bivio::Util::RealmFile
modularized cvs into Util.VC
* Bivio::Util::Release
modularized cvs into Util.VC
* Bivio::Util::VC
NEW
Revision 13.46 2014/10/15 22:02:53 nagler
* Removed license in each file. Too noisy and unnecessary
Revision 13.45 2014/10/15 17:45:07 moeller
* Bivio::Biz::Model::ConfirmationForm
added NO_CONFIRM_TASKS user preference which allows skipping
confirmation pages
* Bivio::Biz::Model::CRMCloseForm
now derived from ConfirmationForm
* Bivio::Delegate::RowTagKey
added NO_CONFIRM_TASKS
* Bivio::UI::FacadeBase
added do_no_show_again message
* Bivio::UI::View::CRM
added "do not show again" field to CRMCloseForm
Revision 13.44 2014/10/13 23:27:31 moeller
* Bivio::Biz::Model::CRMCloseForm
NEW
* Bivio::Delegate::TaskId
added FORUM_CRM_CLOSE task
* Bivio::Mail::Outgoing
fixup cut-off variable names in quoted printable in edit_body()
* Bivio::UI::FacadeBase
added FORUM_CRM_CLOSE
* Bivio::UI::View::CRM
added 'close' actions link to CRM list
* Bivio::UI::XHTML::Widget::MailBodyHTML
added more safe properties
Revision 13.43 2014/09/13 19:36:56 nagler
* Bivio::Type::String
remove 3 repeating symbol, not 2 - allows text like $.20 and 4 <= 5
* Bivio::UI::XHTML::Widget::MailBodyHTML
added more safe css properties
removed newline condensing, added TODO
* Bivio::Util::SendmailHTTP
added lwp_timeout_seconds
Revision 13.42 2014/08/08 22:15:10 moeller
* Bivio::UI::View::CSS
display mail messages with PRE tags using white-space: pre-line
* Bivio::UI::XHTML::Widget::HelpWiki
use 'px' suffix when setting help window height for older MSIE
* Bivio::UI::XHTML::Widget::MailBodyHTML
canonicalize_charset on message to clean up utf-8 characters
* Bivio::Util::User
subscribe_info() returns NO SUBSCRIPTION if user has no UserRealmSubscription
Revision 13.41 2014/08/04 17:24:07 moeller
* Bivio::Biz::Model::FileChangeForm
is_text_content_type() checks if file contents looks likes text
* Bivio::Biz::Model::RealmFile
added is_text_file() which uses -T heuristic
* Bivio::Mail::Incoming
remove get_all_addresses (unused)
* Bivio::Mail::Outgoing
add bcc support
* Bivio::UI::FacadeBase
set wiki page titles from Action.WikiView title
* Bivio::UI::Mail::Widget::Message
add bcc support
* Bivio::UI::View::Base
add bcc support
Revision 13.40 2014/07/21 15:47:21 moeller
* Bivio::UI::XHTML::ViewShortcuts
model passed to vs_put_seo_list_links() may be a ListFormModel,
call ->get_list_model() to get the underlying list
* Bivio::Util::HTTPD
set MaxRequestsPerChild based on running in background or not
Revision 13.39 2014/07/18 22:47:07 moeller
* Bivio::UI::View::Mail
use XxThreadList var for ITEMPROP value, could be Mail or CRM model
Revision 13.38 2014/07/17 22:18:46 moeller
* Bivio::PetShop::BConf
disable use_file_manager
* Bivio::Type::CacheTagFilePath
fixed from_local_path() when not use_cached_path
* Bivio::UI::Bootstrap::ViewShortcuts
add seo links during vs_put_pager()
* Bivio::UI::FacadeBase
added microformat to Mail byline
* Bivio::UI::View::Mail
added microformat tags to message board
* Bivio::UI::View::ThreePartPage
added xhtml_seo_head_links view attr
* Bivio::UI::XHTML::ViewShortcuts
added vs_put_seo_list_links() to add pager and canonical head links
* Bivio::UI::XHTML::Widget::MailBodyHTML
added ITEMPROP attr for microformats
* Bivio::UI::XHTML::Widget::MailBodyPlain
set ITEMPROP="text" for microformats
Revision 13.37 2014/07/15 16:58:52 moeller
* Bivio::Type::CacheTagFilePath
added use_cached_path config value to enable cached paths
* Bivio::UI::HTML::Widget::Table
added rel="nofollow" attribute to column sorting links
Revision 13.36 2014/07/11 17:05:55 moeller
* Bivio::Agent::HTTP::Reply
added always_cache arg to set_cache_max_age() to force caching
for tagged files running on dev
* Bivio::BConf
removed duplicate_threshold_seconds config
* Bivio::Biz::Action::LocalFilePlain
strip cache tag and set far-future max age (if applicable)
pass "never_expire" boolean to Reply->set_cache_max_age() for tagged files
* Bivio::Biz::Model::MailReceiveDispatchForm
moved duplicate mail detection to Mail.Incoming
* Bivio::Mail::Incoming
moved duplicate checking from Model.MailReceiveDispatchForm
looks through last 10 messages for duplicate match,
comparing body and message date_time
* Bivio::Mail::Outgoing
changed b_die() to die FORBIDDEN for missing or invalid from header
* Bivio::Test::HTMLParser::Forms
strip cache tag from submit icon src
* Bivio::Test::Reload
use get_local_plain_file_name
* Bivio::Type::CacheTag
* Bivio::Type::CacheTagFilePath
NEW
* Bivio::UI::FacadeComponent::Icon
add get_favicon_uri, use cache tag for icon uris
* Bivio::UI::Facade
join_with_local_file_plain -> get_local_plain_file_name
* Bivio::UI::HTML::Widget::LocalFileLink
use cache tagged uris
* Bivio::UI::View::ThreePartPage
add favicon link to head
* Bivio::Util::Project
join_with_local_file_plain moved to get_local_plain_file_name
* Bivio::Util::RealmMail
added clear_duplicate_messages()
* Bivio::Util::SendmailHTTP
changed server error to EX_SOFTWARE
Revision 13.35 2014/07/08 21:02:31 nagler
* Bivio::Mail::Common
rewrite_from_domain: need to clear rewrite_from_domains for acceptance
tests so they don't rewrite on sends to the server
* Bivio::Mail::Outgoing
moved _rewrite_from moved into send() so all From (and Return-Path,
envelope_from, and Reply-To) get (re)written for alias sends and
generated emails
* Bivio::Test::Language::HTTP
rewrite_from_domain: call Mail.Outgoing test_language_setup so that it
gets a chance to modify configuration
* Bivio::UI::HTML::Widget::Script
removed trailing ',' from javascript hash to avoid errors
in MSIE browsers with compatibility mode turned on
Revision 13.34 2014/07/02 20:01:16 moeller
* Bivio::HTML::Scraper
allow setting Accept-Encoding header for websites which only return
gzip data.
* Bivio::MIME::Calendar
ignore x-google- extensions
Revision 13.33 2014/06/27 15:19:06 moeller
* Bivio::MIME::Calendar
ignore x-cost
* Bivio::UI::HTML::Widget::TableBase
don't include old html table attrs for 2014 style
* Bivio::UI::View::ThreePartPage
don't show "top" tag for 2014 style
added xhtml_tag_attrs
* Bivio::Util::SendmailHTTP
added LWP timeout
Revision 13.32 2014/06/17 20:05:57 moeller
* Bivio::Biz::Model::RealmMailBounceList
replace execute with execute_load_page_for_parent
* Bivio::Mail::Common
#984 fix rewrite_from_domains_re
handle_config: need to group domains in re so that [@.] is required
prior to domain
* Bivio::ShellUtil
fix uninitialized value if lock file is missing for stat()
* Bivio::UI::FacadeBase
moved arrow icon to icon named back_to_list
Mail/CRM detail pages use back_to_list icon
* Bivio::UI::View::Mail
added label for "back to list"
* Bivio::UI::XHTML::Widget::FeatureTaskMenu
added task_menu_no_wrap option for 2014style
* Bivio::UI::XHTML::Widget::RealmDropDown
only wrap in DIV_task_menu_wrapper() for non 2014style
* Bivio::UI::XHTML::Widget::SiteAdminDropDown
unwrapped DIV around TaskMenu
Revision 13.31 2014/06/06 17:52:18 moeller
* Bivio::Delegate::Cookie
#874 set HttpOnly tag on Set-Cookie
* Bivio::Type::EmailVerifyKey
#880 if SUPER returns error, return (undef, $err)
* Bivio::Type::String
#873 remove common repeating symbols from excerpt
* Bivio::UI::FacadeBase
#908 added missing label for EmailAliasListForm
Revision 13.30 2014/06/02 15:25:53 moeller
* Bivio::Biz::Action::MailForward
added support for REWRITE_FROM_DOMAIN_REFLECTOR task
* Bivio::Delegate::TaskId
added REWRITE_FROM_DOMAIN_REFLECTOR to handle
user*<realm_id>@<mail_host> emails
* Bivio::Mail::Common
added yahoo and aol as rewrite_from_domains
* Bivio::Mail::Outgoing
added _rewrite_from for REWRITE_FROM_DOMAIN support
modularized _inc_forward_header() to be clearer
* Bivio::PetShop::Delegate::Location
make subclass of Type.EnumDelegate so missing call errors are clearer
* Bivio::PetShop::Util::SQL
support testing rewrite-from-domain.test
* Bivio::Test::Language::HTTP
verify_mail: improve error message when emails don't match. Printing
the hash was the wrong thing, because the number is confusing
(meaningless, actually, except as a boolean)
* Bivio::Type::Location
added first_alternative_location
* Bivio::UI::FacadeBase
added REWRITE_FROM_DOMAIN_REFLECTOR
Revision 13.29 2014/05/28 18:05:29 moeller
* Bivio::Biz::Model::UserRegisterForm
internal_create_models() may return undef and set error,
stop execution in execute_ok() if that happens
* Bivio::Biz::Model::WikiForm
catch constraint errors during "Save" button
* Bivio::Biz::Model
improved "missing key" warning
* Bivio::Util::HTTPLog
ignore missing error file if missing in first 5 minutes of the day
* Bivio::Util::Spider
don't persist cookie file
Revision 13.28 2014/05/23 00:21:41 moeller
* Bivio::Biz::Model::MailForm
don't set In-Reply-To if subject has changed
* Bivio::Biz::Model::MailThreadRootList
order by most recent reply
* Bivio::Biz::Model::RealmMail
don't set threaded values if mail subject has changed
* Bivio::Type::MailSubject
added subject_lc_matches()
* Bivio::UI::View::Mail
show date of most recent reply in formatted message
Revision 13.27 2014/05/22 19:47:43 moeller
* Bivio::Biz::Action::Acknowledgement
quietly catch invalid task ids from uri value
made exists_in_facade() public
* Bivio::Biz::Action::JSONReply
catch JSON parse errors quietly during execute_javascript_log_error()
* Bivio::Biz::Model::MailReceiveDispatchForm
ignore messages with the "no-message-id" message id
* Bivio::MIME::JSON
guard against uninitialized $terminator
* Bivio::UI::XHTML::Widget::Acknowledgement
don't die if the acknowldgement label is invalid, could be a bad uri.
warn instead
Revision 13.26 2014/05/12 21:15:21 schellj
* Bivio::UI::XHTML::Widget::ModalDialog
make all content sections optional, standardize
Revision 13.25 2014/05/10 02:38:23 schellj
* Bivio::UI::XHTML::Widget::ModalDialog
give ID to header and footer
Revision 13.24 2014/05/10 02:21:39 schellj
* Bivio::UI::XHTML::Widget::ModalDialog
set body ID
Revision 13.23 2014/05/09 21:49:56 schellj
* Bivio::BConf
added named config "none" for Bivio::Ext::DBI so can call from command line
* Bivio::UI::Bootstrap::Widget::FormButton
generally only the ok_button should be a "submit" button
revert last commit (incorrect)
allow instances to set their TYPE
* Bivio::UI::XHTML::Widget::ModalDialog
NEW
Revision 13.22 2014/04/25 03:01:55 schellj
* Bivio::UI::XHTML::ViewShortcuts
added CANVAS html element
* Bivio::UI::XHTML::Widget::NavContainer
support altering NAV and container div classes
Revision 13.21 2014/04/19 00:09:08 schellj
* Bivio::UI::CSS::Widget::TransformAttr
NEW
Revision 13.20 2014/04/18 17:55:09 moeller
Release notes:
* Bivio::Type::UserAgent
added BROWSER_MSIE_9 and BROWSER_MSIE_10
* Bivio::UI::View::ThreePartPage
moved msie8shim to a separate LocalFileAggregator to avoid missing CSS
in IE8
Revision 13.19 2014/04/15 20:16:01 moeller
* Bivio::Util::SendmailHTTP
translate "200 Assumed OK" response to a server error
added local_agent and local_agent_args handling
use EX_TEMPFAIL for most errors
* Bivio::UI::Bootstrap::ViewShortcuts
allow setting edit_col_class on form attrs
* Bivio::Util::RealmAdmin
need to set subscription if join_user with MAIL_RECIPIENT
* Bivio::Biz::Model::RealmUserAddForm
make _set_subscription public for use in Util.RealmAdmin
* Bivio::Test::Util
include %s in _mail_receive url
Revision 13.18 2014/04/11 17:05:17 moeller
* Bivio::Util::SendmailHTTP
fpc
Revision 13.17 2014/04/11 16:25:54 moeller
* Bivio::BConf
turn off use_wysiwyg in 2014style
* Bivio::Biz::Model::WikiForm
remove debug
* Bivio::Biz::Util::RealmRole
added audit_feature_categories() to detect incorrectly enabled realm features
* Bivio::UI::View::CSS
set size of wysiwyg_editor in 2014style
* Bivio::UI::View::Wiki
give editor an id, set args based on use_wysiwyg and 2014style
* Bivio::Util::SendmailHTTP
NEW, replaces b-sendmail-http.c
Revision 13.16 2014/04/01 16:13:44 moeller
* Bivio::UI::Bootstrap::Widget::SearchSuggestAddon
removed
* Bivio::UI::XHTML::Widget::SearchSuggestAddon
moved from Bootstrap widget path because XHTML apps need the widget available
Revision 13.15 2014/04/01 15:56:34 moeller
* Bivio::BConf
ignore duplicate cookie errors
add IS_2014STYLE, update UIXHTML & XHTMLWidget maps
default to use_wysiwyg editor if 2014style
* Bivio::Biz::Action::JSONReply
only warn on javascript errors if json has errorMsg, url and linNumber
* Bivio::Biz::Model::MailReceiveDispatchForm
fix to filter google calendar notifications in the form "Sender: Google
Calendar <[email protected]>"
* Bivio::Biz::Model::WikiForm
remove b_debug
* Bivio::Delegate::TaskId
View.WysiwygFile -> View.WYSIWYGFile
* Bivio::Ext::MIMEParser
catch warnings from MIME::Parser for uninitialized values
* Bivio::Mail::Outgoing
fixed uninitialized warning in set_headers_for_forward() with invalid "from"
* Bivio::UI::Bootstrap::Widget::ButtonGroup
NEW
* Bivio::UI::Bootstrap::Widget::DropDownIconButton
NEW
* Bivio::UI::Bootstrap::Widget::FormButton
_class moved to Tag->internal_class_with_additional
* Bivio::UI::Bootstrap::Widget::IconButton
NEW
* Bivio::UI::Bootstrap::Widget::SearchSuggestAddon
NEW
* Bivio::UI::Bootstrap::Widget::Tag
add internal_class_with_additional
* Bivio::UI::Bootstrap::Widget::WYSIWYGEditor
NEW
* Bivio::UI::HTML::Widget::CKEditor
removed
* Bivio::UI::HTML::Widget::InputBase
need to subclass from XHTMLWidget.Tag to allow for bootstrap override
* Bivio::UI::HTML::Widget::LocalFileLink
look in app, then common, die if not found
* Bivio::UI::HTML::Widget::WYSIWYGEditor
NEW
* Bivio::UI::View::Search
glyphicon -> b_icon
* Bivio::UI::View::ThreePartPage
update file paths, move jquery-ui into SearchSuggestAddon
* Bivio::UI::View::Wiki
CKEditor renamed to WYSIWYGEditor, don't pass params if_2014style
* Bivio::UI::View::WysiwygFile
removed
* Bivio::UI::View::WYSIWYGFile
NEW
* Bivio::UI::XHTML::Widget::SearchSuggestAddon
removed
* Bivio::Util::Backup
fixed piped_exec() with ignored && clause, split into two parts
* Bivio::Util::Project
use javascript-install path
Revision 13.14 2014/03/13 18:59:34 schellj
* Bivio::Biz::Action::AssertClient
added assert_is_dev for TaskId
* Bivio::Biz::Action::Bootstrap
removed
* Bivio::Biz::Model::MailReceiveDispatchForm
allow bounce* address to get past oof filter so RealmMailBounce is created
* Bivio::Delegate::SimpleAuthSupport
added DEV_TRANSIENT
* Bivio::Delegate::SimplePermission
added DEV_TRANSIENT
* Bivio::Delegate::TaskId
info_dev now holds all DEV_* tasks and asserts dev
remove GENERATE_BOOTSTRAP_CSS
* Bivio::Mail::Common
added "Auto-Submitted: auto-replied" to bounce header to simulate
the mail server response
* Bivio::Test::Reload
generate bootstrap css if needed
* Bivio::UI::Bootstrap::Widget::DropDown
add space between label and caret
fix for space between caret and label
* Bivio::UI::FacadeBase
added _cfg_dev to group all dev tasks
remove GENERATE_BOOTSTRAP_CSS
glyphicon -> b_icon
* Bivio::UI::Facade
fix for using with_setup_request when a facade isn't on the request yet
* Bivio::UI::View::CSS
remove left and right margin for b_icons
adjust vertical alignment of b_icons
* Bivio::UI::View::File
added 2014 style file change view
* Bivio::UI::View::ThreePartPage
now generating bootstrap css in Test.Reload
add fontello b_icon.css
* Bivio::UI::XHTML::Widget::LinkIcon
remove glyphicon class
* Bivio::Util::HTTPConf
added AddOutputByFileType DEFLATE
turn off TraceEnable
* Bivio::Util::HTTPD
added DEFLATE filter for json data
* Bivio::Util::Project
bootstrap moved to src/javascript
Revision 13.13 2014/02/28 00:41:21 moeller
* Bivio::UI::View::ThreePartPage
fixed missing _center_replaces_middle()
Revision 13.12 2014/02/27 19:37:05 moeller
* Bivio::Biz::Action::API
fixed missing method
* Bivio::Biz::Action::Bootstrap
NEW
* Bivio::Delegate::TaskId
add GENERATE_BOOTSTRAP_CSS
* Bivio::HTML::Scraper
removed quoted cookie cleanup, breaks some html scrapers
* Bivio::IO::Config
add assert_dev
* Bivio::ShellUtil
add assert_dev
* Bivio::UI::FacadeBase
add GENERATE_BOOTSTRAP_CSS
added 2014style attrs
added 2014style copyright
added icons for each category
* Bivio::UI::Facade
add want_generate_bootstrap_css config, if_want_generate_bootstrap_css
remove want_generate_bootstrap_css config
* Bivio::UI::View::CSS
added render_2014style_css()
2014style doesn't use site css
* Bivio::UI::View::Mail
added WANT_BOARD_ONLY_OPTION for subclasses
* Bivio::UI::View::ThreePartPage
use bootstrap css generation or local file
remove want_generate_bootstrap_css config
added 2014style head tags
added 2014style layout items
* Bivio::UI::XHTML::ViewShortcuts
added stub for vs_placeholder_form()
* Bivio::UI::XHTML::Widget::LinkIcon
NEW
* Bivio::UI::XHTML::Widget::NavContainer
NEW
* Bivio::UI::XHTML::Widget::TaskMenuOverride
NEW
* Bivio::Util::HTTPConf
generate maintenance.html and set ErrorDocument on VirtualHost
don't write the header if begins with <html
* Bivio::Util::Project
add generate_bootstrap_css
better modularization
add bootstrap_css_path, bootstrap_less_path
Revision 13.11 2014/02/12 17:52:09 moeller
* Bivio::Agent::TaskId
bunit_validate_all() now allows for hash TaskId def
* Bivio::Biz::Action::JSONReply
use $req->warn() for javascript errors so realm/user info is logged
* Bivio::SQL::Statement
deprecated SELECT_AS()
Revision 13.10 2014/02/11 03:49:24 moeller
* Bivio::Agent::TaskId
use JSONReply instead of EmptyReply
* Bivio::Biz::FormModel
form_is_json is true either if the CONTENT_TYPE_FIELD is json or
if_req_is_json. jQuery sends url-encoded for ajax requests so we need
to tell FormModel to use json_form_name_map instead of normal names
removed cruft (_get_form)
* Bivio::UI::HTML::Widget::Table
remove debug
* Bivio::Util::HTTPConf
remove SSLLogLevel, not supported; set LogLevel to info to reduce
logging noise
Revision 13.9 2014/02/10 21:59:30 moeller
* Bivio::Agent::HTTP::Form
remove form_is_json (not correct)
json support: put_req_is_json if _parse_json
* Bivio::Agent::HTTP::Reply
factored out send_append_header, which calls $r->headers_out->add(),
which allows you to have multiple headers with the same name.
Remove _add_additional_http_headers(), unused
Fixed a bug in $r handling in send() -- client_redirection clears all
attributes before calling send() so need to pull $r from $req
cleaned up $status setting including using constants always
Only have one call to _cookie_check()
removed the dependency with stat(_) since the comment indicated an
over-optimization
* Bivio::Agent::Request
json support: if_req_is_json and put_req_is_json
* Bivio::Agent::TaskId
json support: if_task_is_json and internal_json_decl
* Bivio::Biz::Action::API
NEW
* Bivio::Biz::Action::EmptyReply
empty HTTP_OK replies need to return HTTP_NO_CONTENT, because jQuery complain
s
with 'syntax error unexpected end of file'
* Bivio::Biz::Action::Error
json support: call JSONReply->execute_check_req_is_json on all
execute, because just want to reply with the error, not a wiki page or
other error page
execute_from_javascript => JSONReply->execute_javascript_log_error
* Bivio::Biz::Action::JSONReply
NEW
* Bivio::Biz::FormModel
json support: if_req_is_json then different _task_result()
* Bivio::Biz::Model::FileChangeForm
added override_mode which allows form to post mode outside hidden value
* Bivio::Biz::Model::FullCalendarForm
NEW
* Bivio::Biz::Model::FullCalendarList
all events are editable
* Bivio::Delegate::Cookie
add domain to prior tags
factored out _clear_prior_tags with handling duplicate and missing
domains as well as setting Expires to a past date which will force the
cookie to expire.
append cookie header values in _clear_prior_tags(), don't replace
changed cookie append hack to use $r->headers_out->add()
always call headers_out->add
call $reply->send_append_header which allows multiple Set-Cookie headers
* Bivio::Delegate::SimpleRealmName
added check_reserved_name() so can lock out names like api, pub, etc.
check_reserved_name can't be called from_literal
* Bivio::Delegate::TaskId
doc dependency with TaskId.t
json support: internal_json_decl around all json requests
added FULL_CALENDAR_FORM_JSON
added execute_check_req_is_json on certain tasks (errors) which don't
go through Action.Error->execute (which calls execute_check_req_is_json)
* Bivio::MIME::JSON
to_text: do not escape ' (single quote)
JSON is strict with escaping. However some servers return single
quoted strings (disallowed) so we have to be flexible to accept them.
Improved error when backslash followed by unknown char
to_text must be supplied a $value argument
to_text(undef) returns 'null'
* Bivio::Test::Bean
the old mode of return values passed as first argument is no longer
valid. Added test_bean_register_callback to allow dynamic additions
to the interface without having to know the argument syntax.
* Bivio::Test::Reply
added send_append_header, simulating what HTTP::Reply does
* Bivio::Test::Request
r->headers_out() returns a Test.Bean (same one each time)
need "add()" callback on $reply->headers_out since Reply->send_append_header
uses headers_out()->add() now
fix order of subs
* Bivio::Type::UserAgent
added is_msie_8_or_before
* Bivio::UI::FacadeBase
added FULL_CALENDAR_FORM_JSON
renamed JAVASCRIPT_LOG_ERROR to JAVASCRIPT_LOG_ERROR_JSON
added API_JSON
* Bivio::UI::Facade
make if_2014style work correctly with no args
* Bivio::UI::HTML::Widget::LocalFileAggregator
cruft
* Bivio::UI::View::CRM
uses new vs_inline_form() for selector
* Bivio::UI::View::File
made _last_updated() public for subclasses
* Bivio::UI::View::Mail
added internal_reply_links() and internal_thread_list() for subclasses
hide empty mail headings only for 2014style
put root list task before form task for standard tools if_2014style
* Bivio::UI::View::Wiki
make wiki editor wider if 2014style
* Bivio::UI::Widget::Prose2
NEW
* Bivio::UI::Widget
better doc a "widget name may not contain underscore"
* Bivio::UI::XHTML::ViewShortcuts
wrap smart date in bivio_smart_date span
fix singular text for 'hours' and 'minutes'
added vs_inline_form()
* Bivio::UI::XHTML::Widget::ClearOnFocus
fixed another double-quoted value
* Bivio::UI::XHTML::Widget::ComboBox
added internal_cb_size() for subclasses
* Bivio::Util::Backup
use need to use --apparent-size on du, because file systems can compress
* Bivio::Util::HTTPConf
SSLLogLevel needs to be set for v2, because it outputs "info" by default
* Bivio::Util::TaskLog
response_code is successful if matches 2xx or 3xx
* Bivio::Util::TestMail
make $_SUBJECTS a sub so that it can be overridden
Revision 13.8 2014/02/03 13:51:44 nagler
* Bivio::UI::View::File
use vs_smart_date if_2014style
* Bivio::UI::View::Mail
use vs_smart_date if_2014style
* Bivio::UI::View::Search
use vs_smart_date if_2014style, fix placement of paging arrows
* Bivio::UI::XHTML::ViewShortcuts
add vs_smart_date
Revision 13.7 2014/02/03 05:21:22 nagler
* Bivio::Biz::Model::FullCalendarList
JSON conversion has to happen as TypeValues, because boolean and integer have to appear as literals, not strings
* Bivio::MIME::JSON
JSON conversion has to happen as TypeValues, because boolean and integer have to appear as literals, not strings
* Bivio::Type::Array
to_json must not escape by default
JSON conversion has to happen as TypeValues, because boolean and integer have to appear as literals, not strings
* Bivio::Type::Boolean
to_json must not escape by default
* Bivio::Type::DateTime
to_json must not escape by default
JSON conversion has to happen as TypeValues, because boolean and integer have to appear as literals, not strings
* Bivio::Type::Email
JSON conversion has to happen as TypeValues, because boolean and integer have to appear as literals, not strings
* Bivio::Type::Enum
to_json must not escape by default
JSON conversion has to happen as TypeValues, because boolean and integer have to appear as literals, not strings
* Bivio::Type::Integer
JSON conversion has to happen as TypeValues, because boolean and integer have to appear as literals, not strings
* Bivio::Type
to_json must not escape by default
JSON conversion has to happen as TypeValues, because boolean and integer have to appear as literals, not strings
* Bivio::UI::View::Calendar
JSON conversion has to happen as TypeValues, because boolean and integer have to appear as literals, not strings
Revision 13.6 2014/02/03 04:00:23 nagler
* Bivio::UI::HTML::Widget::Table
column_control is called with render_simple_value so you can have a
widget as the value
* Bivio::UI::XHTML::ViewShortcuts
pass options attrs to vs_simple_form() in vs_list_form()
Revision 13.5 2014/02/02 16:29:15 nagler
* Bivio::Biz::Model::CRMForm
superfluous return
* Bivio::Biz::Model::FullCalendarList
NEW
* Bivio::Biz::Model::SearchList
simplify format_uri_params_with_row, add result_type
* Bivio::Biz::Model::SearchSuggestList
NEW
* Bivio::bOP
RCS file: /home/cvs/perl/Bivio/bOP.pm,v
Working file: Bivio/bOP.pm
head: 13.4
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 1139; selected revisions: 0
description:
* Bivio::Delegate::TaskId
add SEARCH_SUGGEST_LIST_JSON, GROUP_SEARCH_SUGGEST_LIST_JSON
added FULL_CALENDAR_LIST_JSON
fix FULL_CALENDAR_LIST_JSON
* Bivio::Search::Xapian
allow results from partial queries
* Bivio::Type::CalendarEventRecurrence
extend period of valid dates
* Bivio::Type::DateTime
test from_unix() arg validaity
add to_local
* Bivio::Type::Email
added to_json
* Bivio::Type
added to_json which defaults to_xml
* Bivio::TypeValue
added as_json
* Bivio::UI::CSS::Widget::MockStylus
NEW
* Bivio::UI::CSS::Widget::VendorPrefixBase
NEW
* Bivio::UI::FacadeBase
add IS_2014STYLE, if_2014style
moved 2014STYLE to superclass
added ECCreditCardPayment text
add SEARCH_SUGGEST_LIST_JSON, GROUP_SEARCH_SUGGEST_LIST_JSON
use get_local_file_plain_app_uri to set LOCAL_FILE_PLAIN uri for /f/
define is_2014style as constant
added FULL_CALENDAR_LIST_JSON
* Bivio::UI::Facade
moved is_2014style() from FacadeBase
added get_local_file_plain_app_uri used by LocalFileLink
if_2014style uses is_2014style() so modular
is_2014style gets facade from source if possible
* Bivio::UI::HTML::Widget::DateTime
fix for am/pm when time % 12 == 0
* Bivio::UI::HTML::Widget::DateYearHandler
when defaulting year, use 300 day window so entering a Dec date in Jan
defaults to the previous year
* Bivio::UI::HTML::Widget::InlineCSS
NEW
* Bivio::UI::HTML::Widget::InlineJavaScript
NEW
* Bivio::UI::HTML::Widget::JavaScriptString
Put in "" so uses don't have to
* Bivio::UI::HTML::Widget::LocalFileAggregator
NEW
* Bivio::UI::HTML::Widget::LocalFileLink
NEW
* Bivio::UI::HTML::Widget::Page
use html5 doctype for is_2014style()
use if_2014style and get_from_source
* Bivio::UI::HTML::Widget::Script
don't first-focus to the SearchForm.search field
* Bivio::UI::HTML::Widget::Select
removed default size=1, only show size if != 1
added "class" attr
* Bivio::UI::HTML::Widget::TextArea
refactored, now derived from InputBase
* Bivio::UI::View::Base
add json
doc
* Bivio::UI::View::Calendar
added full_calendar_list_json
* Bivio::UI::View::CSS
if internal_site_css returns a reference, then don't add it to Prose,
just interpret literally
* Bivio::UI::View::Mail
don't show_headings for Mail list
* Bivio::UI::View::Search
add suggest_list_json
adjust column classes for suggest title - bootstrap doesn't display
col-xs-1 and col-xs-11 well at small sizes
tweak look and feel of search suggest
replace star with paperclip for wiki pages
fix image regex
* Bivio::UI::View::ThreePartPage
added xhtml_body_last
added internal_xhtml_tools() hook for subclasses
* Bivio::UI::ViewShortcuts
vs_local_file_plain_common_uri
* Bivio::UI::Widget::If2014Style
NEW
* Bivio::UI::Widget::WidgetSubstitute
NEW
* Bivio::UI::XHTML::ViewShortcuts
added NAV tag
added hook for subclasses - vs_simple_form_container()
* Bivio::UI::XHTML::Widget::ClearOnFocus
JavaScriptString now puts in ""
* Bivio::UI::XHTML::Widget::ComboBox
added internal_cb_text_class() for subclasses
* Bivio::UI::XHTML::Widget::JSONValueLabelPairList
NEW
* Bivio::UI::XHTML::Widget::SearchSuggestAddon
NEW
* Bivio::UI::XHTML::Widget::StandardSubmit
added space between buttons
* Bivio::UI::XHTML::Widget::TaskMenu
made selected class configurable
added hooks internal_drop_down_widget() and internal_wrap_widget()
for subclasses
* Bivio::Util::HTTPConf
added request_read_timeout constant as header=5 so produces RequestReadTimeout header=5
* Bivio::Util::HTTPD
added $ENV{BIVIO_IS_2014STYLE} lookup so can override without checking in
* Bivio::Util::Release
_get_update_list: added defaulting of $version and $rpm
* Bivio::Util::Shell
added u_prefix_path_env
Revision 13.4 2014/01/03 02:38:01 schellj
* Bivio::Biz::Action::MotionBase
NEW
* Bivio::Biz::Action::MotionList
NEW
* Bivio::Biz::Action::Motion
NEW
* Bivio::Biz::Model::MailReceiveDispatchForm
make ooo filter configurable
remove b_debug
* Bivio::Delegate::TaskId
redirect to FORUM_MOTION_IS_CLOSED when attempting to vote or comment
on a closed motion
* Bivio::Mail::Incoming
add grep_headers
* Bivio::Test::Language::HTTP
add get_link_in_table
* Bivio::UI::FacadeBase
add FORUM_MOTION_IS_CLOSED
* Bivio::UI::View::Motion
add is_closed
* Bivio::UI::Widget
commented-out deprecated warning for widget with "_" in name
Revision 13.3 2013/12/12 18:50:34 schellj
* Bivio::Biz::Action::ClientRedirect
add execute_query_redirect
* Bivio::Delegate::TaskId
add LOGGED_QUERY_REDIRECT
* Bivio::MIME::Calendar
allow date values which are mislabeled as date-time
* Bivio::PetShop::Util::TestData
reset calendar_btest_user's time zone
* Bivio::Test::Language::HTTP
decode html emails
fix for getting uri from html emails
uri_and_local_mail: use different regex for html vs plain text email
* Bivio::UI::FacadeBase
add LOGGED_QUERY_REDIRECT, grammar in no cookies text
* Bivio::UI::View::UserAuth
alphabetize subs
* Bivio::Util::TestMail
print every 100 generated test messages
Revision 13.2 2013/12/06 21:29:59 moeller
* Bivio::Biz::Model::CalendarEventForm
default the time-zone to the user's time-zone creating.
save user time-zone from event time-zone if user tz is tz default
* Bivio::Biz::Model::CalendarEventList
format time with Type.Time
* Bivio::Biz::Model::CalendarEventWeekList
#855 fix daylight savings iterate bug
* Bivio::Biz::Model::RealmMail
* Bivio::Mail::Incoming
renamed Type.MailSubject trim_literal() to clean_and_trim()
* Bivio::Type::DateTimeWithTimeZone
use Type.Date and Type.Time when formatting literal
* Bivio::Type::MailSubject
combined trim_literal() and clean_and_trim()
* Bivio::Type::String
trim utf8 strings to correct byte length
* Bivio::Type::Time
added time_format_24 config value, default is 1
allows literal form with am/pm
* Bivio::UI::FacadeBase
updated calendar border color
* Bivio::UI::View::CSS
improved calendar border
Revision 13.1 2013/11/27 17:06:00 moeller
* Bivio::Biz::Model::MailReceiveDispatchForm
exempt messages from [email protected] from
out-of-office filter
* Bivio::Type::CountryCode
added new countries from ISO 3166-1-alpha-2 code list
* Bivio::Util::Search
don't destroy db if resuming rebuild_db
Revision 13.0 2013/11/25 17:34:05 nagler
Rollover to 13.0
Revision 12.97 2013/11/25 16:56:25 moeller
* Bivio::Util::NamedConf
allow DKIM1 TXT records to be added using kdim1 config value
* Bivio::Util::Search
make rebuild_db, audit_db resumable
Revision 12.96 2013/11/20 21:44:27 moeller
* Bivio::BConf
ignore no-message-id errors
* Bivio::Biz::Action::Error
fixed error in execute_from_javascript() for GET requests
* Bivio::Biz::Model::CRMThreadRootList
postgres performance - replaced left joins with subselects
removed customer.RealmOwner
* Bivio::Biz::Model::ForumTreeList
parent_and_children: don't assume that user has access to parent forum
* Bivio::Biz::Model::MailThreadRootList
added missing realm_id to subselect
* Bivio::UI::HTML::Widget::Script
window.onerror() wrap whole method in try/catch
* Bivio::Util::Search
commit every document, sleep after every 10 documents
Revision 12.95 2013/11/03 22:11:55 moeller
* Bivio::BConf
added more ignore errors
* Bivio::Biz::FormModel
put task_id back on response during redirect, fixes workflow cancel
* Bivio::Biz::Model::BlogList
return NOT_FOUND for missing this
* Bivio::Biz::Model::ForumUserEditDAVList
override_default_subscription when create/edit
* Bivio::Biz::Model::MailReceiveDispatchForm
don't let ooo filter ignore bugzilla messages
* Bivio::PetShop::Util::SQL