infosheraton | 29 Oct 21:20 2014

[weblocks] Vuestra Firma calificó y es GANADORA en la actividad, para recibir el PREMIO PLANETA 2014 EN EL SHERATON HOTEL

Buenos días, enviamos a su casilla de correo una notificación, para informarles que vuestra Firma calificó y es ganadora en la actividad que desarrolla, para recibir el Premio Planeta 2014.

Evento será transmitido en directo por  Internet para todo el mundo, durante una cena de Gala el día 30 de noviembre, desde el Sheraton Hotel Buenos Aires, posteriormente se verán todas las imágenes del evento, por el canal de cable nacional Magazine. 

Si no puede visualizar bien la imagen de Nominación haga click: AQUI

Saluda cordialmente
Daniel Carlino
Gerente Zonal
G.I.E.M.
Cel: 011- 1530910970



 
 
 
 
 
 
 
 
 

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.

Fred | 17 Oct 12:06 2014
Picon

Quickform : satisfies don't display error message

Hi,

in the following example, the satisfies function defined
in the quickform widget is called but the error message
is not displayed.

If i use the satisfies function from the defview, there is no problem.
Maybe i do something wrong ?

(defview qfview (:type form
                       :persistp nil)
  (name :requiredp t
        :required-indicator nil
        :label "Name"))

(defun qfs (w o)
  (values nil '((name . "QF Satisfies error"))))

(defun make-page ()
  (let ((qf (make-quickform 'qfview
                            :satisfies #'qfs)))
    (setf (widget-children qf)
           (make-widget
            (lambda (&rest args)
              (declare (ignore args))                                                                                                                                                                                                                                            
              (with-html (:p "Children")))))
    qf))


;; Define callback function to initialize new sessions                                                                                                                                                                                                                         
(defun init-user-session (root)
  (setf (widget-children root)
        (make-page)))


Thanks.

--
Fred

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.
Fred | 16 Oct 22:46 2014
Picon

Quickform : render-widget system broken ?

Hi,

After an update of weblocks, i found the render-widget system that
loop over the childrens of the root widget, broken in the Dataform widget.

In my code, i put some childrens in the Quickform widget
(Quickform inherits from Dataform).

On 4 Jul 2013, appears a update of dataform code
that cause the trouble :
https://github.com/skypher/weblocks/commit/af617413a1ca22e6891b34b93fa81e936209d702

Why a new "widget-children" method in this class (Dataform) that breaks the render-widget engine ?

Thanks.

Best Regards
--
Fred

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.
gavino | 30 Jul 22:05 2014
Picon

Are most weblocks sites backed by postgresql? or can you use manardb or cl-prevalence?

curious

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.
vibhu.mohindra | 12 Jun 13:34 2014
Picon

secure logout

widgets/login.lisp's logout function does not clear the action table. Any actions whose URL's a user may have saved before logging out are still usable after they log out. So always do this in your code in addition to calling logout:
(weblocks:reset-webapp-session)

What I also need to do then to prevent a UI error, maybe only because I use the navigation widget, is:
(redirect (make-webapp-uri "/") :defer :post-action)
but this is less important than the above.

Vibhu

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.
vibhu.mohindra | 11 Jun 22:48 2014
Picon

production mode disabling html stack traces

;*show-lisp-errors-p* is set indirectly by (start-weblocks :debug x)
(defmethod handle-error-condition :around ((app weblocks-webapp) c)
  (if *show-lisp-errors-p* (call-next-method) (handle-prod-error app c)))
(defun handle-prod-error (app c)
  (setf (weblocks::return-code*) 500)
  (weblocks::with-error-page-html ("500 Internal Server Error" "Error caught")
    (:p "There was an unexpected error.")))

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.
vibhu.mohindra | 11 Jun 22:40 2014
Picon

production mode bugfix

;same as code in request-hooks.lisp except both "when" predicates are inverted.
;i.e. we always want "when" bodies to run else there is an error in non-debug
;mode saying that *parts-md5-context-hash* is unbound.
;an alternative fix is to just patch the original removing the when predicates.
;the correct fix is neither. it is to disable the code causing the "unbound var"
;complaint when in prod mode.
(eval-when (:load-toplevel)
  (pushnew
    (lambda ()
      (when (not (or *weblocks-global-debug*
                     (webapp-debug)))
        (weblocks-util:reset-html-parts-set)))
    (request-hook :application :pre-render))

  (pushnew
    (lambda ()
      (declare (special weblocks-util:*parts-md5-hash* weblocks-util:*parts-md5-context-hash*))
      (when (not (or *weblocks-global-debug*
                     (webapp-debug)))
        (progn
          (weblocks-util:update-html-parts-connections)
          (setf (webapp-session-value 'parts-md5-hash) weblocks-util:*parts-md5-hash*)
          (setf (webapp-session-value 'parts-md5-context-hash) weblocks-util:*parts-md5-context-hash*))))
    (request-hook :application :post-render)))

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.
vibhu.mohindra | 11 Jun 22:38 2014
Picon

production mode performance improvement

;call this in production mode to greatly improve performance
;weblocks utils/html-parts.lisp
;I should probably confirm that this is only debugging code being turned off
(defun prod-tune ()
  (setf *process-html-parts-p* (constantly nil)))

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.
vibhu.mohindra | 11 Jun 22:35 2014
Picon

fix for android

;android devices triggered a weblocks bug
;they send X-Requested-With: com.android.browser
;weblocks assumes that existence of any X-Requested-With implies an ajax request
;in fact ajax requests set that header to XMLHttpRequest
;this corrects weblocks
(defun weblocks:ajax-request-p ()
  (equal "XMLHttpRequest" (hunchentoot::header-in* "X-Requested-With")))

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.
Fred | 17 Apr 14:57 2014
Picon

Dataedit : translate buttons Add and Delete

Hello,

in the dataedit.lisp file the function

dataedit-update-operations should be modified
to allow translation.

Bellow what i suggest.

The actual code :

(defmethod dataedit-update-operations (obj &key
                                   (delete-fn #'dataedit-delete-items-flow)
                                   (add-fn #'dataedit-add-items-flow))
  "Should be used to update operations the widget supports.

'delete-fn' - a function to be called when delete action is invoked.
'add-fn' - a function to be called when add action is invoked."
  (setf (dataseq-item-ops obj)
        (remove 'delete (dataseq-item-ops obj)
                :key #'car :test #'string-equal))
  (setf (dataseq-common-ops obj)
        (remove 'add (dataseq-common-ops obj)
                :key #'car :test #'string-equal))
  (when (and (dataedit-allow-delete-p obj)
             (> (dataseq-data-count obj) 0))
    (pushnew (cons 'delete delete-fn)
             (dataseq-item-ops obj)
             :key #'car))
  (when (dataedit-allow-add-p obj)
    (pushnew `(add . ,add-fn)
             (dataseq-common-ops obj)
:key #'car)))

New code :

(defmethod dataedit-update-operations (obj &key
(delete-fn #'dataedit-delete-items-flow)
(add-fn #'dataedit-add-items-flow))
"Should be used to update operations the widget supports.

'delete-fn' - a function to be called when delete action is invoked.
'add-fn' - a function to be called when add action is invoked."
(setf (dataseq-item-ops obj)
(remove 'delete (dataseq-item-ops obj)
:key #'car :test #'string-equal))
(setf (dataseq-common-ops obj)
(remove 'add (dataseq-common-ops obj)
:key #'car :test #'string-equal))
(when (and (dataedit-allow-delete-p obj)
(> (dataseq-data-count obj) 0))
(pushnew (cons (widget-translate obj :delete-items) delete-fn)
(dataseq-item-ops obj)
:key #'car))
(when (dataedit-allow-add-p obj)
(pushnew (cons (widget-translate obj :add-new-item) add-fn)
(dataseq-common-ops obj)
:key #'car)))



(defmethod widget-translation-table append ((obj dataedit-mixin) &rest args)
(list*
(cons :add-new-item "Add")
(cons :delete-items "Delete")
(cons :choose-items-for-deletion-message
(format nil
(translate "Please select ~A to delete.")
(translate
(humanize-name (dataseq-data-class obj))
:plural-p t
:accusative-form-p t)))
(append
(loop for count-keyword in (locale-number-forms (current-locale))
collect
(cons
(concatenate-keywords :items-deleted-message- count-keyword)
(format nil
(translate
"Deleted ~~A ~A."
:preceding-gender (determine-gender (humanize-name (dataseq-data-class obj)))
:preceding-count count-keyword)
(translate
(humanize-name (dataseq-data-class obj))
:items-count count-keyword
:accusative-form-p t))))
(loop for count-keyword in (locale-number-forms (current-locale))
collect
(cons
(concatenate-keywords :items-delete-question-for- count-keyword)
(format nil
(translate "Delete ~~A ~A?")
(translate
(humanize-name (dataseq-data-class obj))
:items-count count-keyword
:accusative-form-p t))))
(loop for (key . val) in (widget-translation-table 'do-confirmation :confirmation-type :yes/no)
collect (cons (concatenate-keywords :do-confirmation- key) val)))))


What's your opinion ?


Thnaks.

Best Regards.


--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.
Fred | 4 Apr 14:25 2014
Picon

call-in-webapp execution over 7s

Hello,

my weblocks application use MySQL as data store.

In a widget, i use a gridedit to display some of 1600 entries
stored in a table of the DB.

With the on-query function, i apply a filter in order to only get a subset of these entries.

i have configured the gridedit to disallow pagination.

When the gridedit has to display 150 entries in the same window, it takes over 7s :(

When i profile the execution (slime-profile-package weblocks),
call-in-webapp takes 7s.

Any ideas ?

Best regards.

Thanks.

--
You received this message because you are subscribed to the Google Groups "weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weblocks+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to weblocks-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/d/optout.

Gmane